Бесконечный цикл формы отправляется с использованием события 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] кнопки отправки. Увидев, что код нелогичен, поймает ли клавиатура лучшую идею?
Ответы
Ответ 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