Бесконечный цикл отправки формы с помощью события 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] кнопки отправки. Видя, что код нелогичен, было бы лучше поймать нажатие клавиши?
3 ответов
Я предполагаю, что ваш ajax-это попытка проверить форму до ее окончательной отправки. В этом случае просто отмените привязку функции проверки перед отправкой формы.
success: function(response){
$('input[name="field1"]').val(response);
// Add unbind to remove validations
$('form').unbind().submit();
}
в успехе вы запускаете другой submit...
$('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;
});
вы отправляете свою форму, предотвращаете отправку только для отправки формы,которая не может быть отправлена... :- D