Подтвердить что ты не робот

Бесконечный цикл формы отправляется с использованием события jquery

Код застревает в цикле, когда я пытаюсь поймать отправку формы. Цель состоит в том, чтобы заменить значение формы до того, как оно погаснет.

$('form').submit(function(e){
   e.preventDefault();
   $.ajax({
      type: "POST",
      url: 'convert.asp',
      data: $('form').serialize(),
      success: function(response){
         $('input[name="field1"]').val(response);
         $('form').submit();
      }
   });
   return false;
});

Есть ли у кого-нибудь идеи?

UPDATE: я изначально привязывался к событию с нажатием кнопки, и он работал, но я хотел сохранить ключевой элемент [enter] кнопки отправки. Увидев, что код нелогичен, поймает ли клавиатура лучшую идею?

4b9b3361

Ответ 1

Я предполагаю, что ваш аякс является попыткой проверить форму до ее возможного представления. В этом случае перед отправкой формы просто отвяжите функцию проверки.

  success: function(response){
     $('input[name="field1"]').val(response);
     // Add unbind to remove validations
     $('form').unbind().submit(); 
  }

Ответ 2

В успехе вы запускаете еще один подарок...

$('form').submit(function(e){
   e.preventDefault(); // redundant,  you return false in the end. <<<===
   $.ajax({
      type: "POST",
      url: 'convert.asp',
      data: $('form').serialize(),
      success: function(response){
         $('input[name="field1"]').val(response);
         $('form').submit(); // <=== delete this! <<<<=================
      }
   });
   return false;
});

Ответ 3

Вы отправляете свою форму, не отправляйте ее только для отправки формы, которой не разрешается подавать...:-D