Я написал этот код, чтобы показать подсказку перед отправкой формы. Если значение ввода формы больше 100, отображается диалоговое окно, информирующее пользователя о том, сколько времени потребуется для обработки. Если они нажимают «ОК», он должен вернуть значение «истина» и отправить форму, если они нажимают кнопку «Отмена», он должен вернуть значение «ложь» и не отправлять форму.
Проблема в том, что форма не ждет этого ответа, она все равно отправляется. Я не могу понять, что не так ...
Вот код:
$(document).ready(function() {
$("form#generate_vouchers").submit(function(){
if($("input#quantity").val() > 100){
var warning = "It will take around " + Math.round(($("input#quantity").val() / 23)) + " seconds to generate this batch.<br />Generation will continue even if you leave this page.";
//Does around 23 codes per second, nearly all of that time is inserts.
$('<div title="Batch information"></div>').html(warning).dialog({
draggable: false,
modal: true,
minWidth: 350,
buttons: {
"Cancel" : function() {
$(this).dialog("close");
return false;
},
"Yes": function() {
$("input#submit").hide(300, function(){
$("img#loader").show(300);
});
return true;
}
}
});
}
else{
$("input#submit").hide(300, function(){
$("img#loader").show(300);
});
}
});
});