Я пытаюсь отправить HTML-форму с помощью метода submit() jQuery.JQuery Отправка формы не работает
Я регистрирую submitHandler для проверки формы. Если проверка проверки не выполняется, пользователь может выбрать в диалоге, хочет ли он продолжить или отменить. Продолжая, я отменяю регистрацию моего Checkeventhandler и вызываю submit() в форме, но ничего не происходит.
Вот мое кодирование:
<form action="test.php" id="summary_01" method="post">
</form>
<script type="text/javascript">
$(document).ready(function() {
$('#summary_01').on('submit', function(e){
var result = check();
if (!result) {
e.preventDefault();
}
return result;
});
});
function check() {
var result = false;
// do some Checks, setting result= true, if OK
if(!result) {
$("#dialog-message").dialog({
modal: true,
resize : true,
width : 'auto',
buttons: {
Ok: function() { //Sending, despite check failed
$('#summary_01').unbind('submit'); //remove checkingForm Eventhandler
$('#summary_01').submit();
$(this).dialog("close");
},
Cancel : function() {
$(this).dialog("close");
}
}
});
}
return result;
}
</script>
Я думаю, что проблема e.preventDefault(), но диалог вызов является асинхронным, и поэтому предупреждает представление до тех пор, пока пользователь не выбрал, чтобы продолжить или отменить.
Возможно, вы можете мне помочь. Заранее благодарны за Вашу помощь.
вы можете попробовать это:. $ ('# Form01') представить (функция (е) { – VRK
разные идентификаторы $ ('# summary_01') и $ ('# form01') – BenG
Вы бы технически быть? создавая бесконечный цикл, если вы делаете свое закрытие перед вашим '$ ('# summary_01'). submit();' youre submit не проходит, потому что каждый раз, когда вы отправляете youre, запускаете ваш preventDefault. в настоящее время вы открываете второй диалог прямо перед тем, как закрыть два из них. –