В настоящее время я использую jquery, чтобы заблокировать отправку формы и показать пользователям диалог для подтверждения. Если пользователь нажимает "да", форма должна быть отправлена. Если пользователь не нажал, закройте диалоговое окно.
Все это работает хорошо, но для одной проблемы: когда пользователь нажимает "да", это снова запускает тот же код, и диалог снова открывается.
$("#myform").submit(function (event) {
if (something) {
var $dialog = $('<div></div>').dialog({
buttons: {
"OK": function () {
$dialog.dialog('close');
$("#myform").submit();
return;
},
Cancel: function () {
$(this).dialog("close");
}
}
});
$dialog.dialog('open');
event.preventDefault();
return false;
} else {
$("#myform").submit();
}
});
Я понимаю, почему это происходит, просто не уверен в лучшем способе обойти это. Я понимаю, что я могу показать модальный щелчок на кнопке, вместо формы submit, но это не затрагивает проблему нажатия кнопки пользователя на клавиатуре для отправки формы.