jquery在提交之前打开对话框,等待按钮单击
我尝试将表单提交与jquery模态对话框一起使用。请看下面的代码jquery在提交之前打开对话框,等待按钮单击,jquery,submit,modal-dialog,Jquery,Submit,Modal Dialog,我尝试将表单提交与jquery模态对话框一起使用。请看下面的代码 $(function() { var sendConfirmation = false; $( "#dialog-form" ).dialog({ autoOpen: false, height: 300, width: 350, modal: true, buttons: { "Send": function() { sendConfirmation = true; },
$(function() {
var sendConfirmation = false;
$( "#dialog-form" ).dialog({
autoOpen: false,
height: 300,
width: 350,
modal: true,
buttons: {
"Send": function() {
sendConfirmation = true;
},
"Close": function() {
$(this).dialog("close");
}
}
});
$("#send").submit(function(event) {
//If user click on modal dialog "Send", then submit should be trigger.
//And if user click "Close"
$(this).trigger("recaptcha");
return false;
/*if(sendConfirmation) {
return true;
} else {
return false;
}*/
});
$("#send").bind("recaptcha", function() {
$( "#dialog-form" ).dialog( "open" );
//return false;
});
});
如果用户单击“提交”按钮,对话框将打开,提交应等待,直到单击模式对话框上的“确定”按钮,然后执行提交。其主要思想是,当用户点击提交按钮时,模态对话框将打开,模态对话框上是recaptcha。用户输入recaptcha代码并单击OK按钮,然后提交数据 JavaScript是单线程的,由于JavaScript用于显示对话框和处理对其的任何单击,因此如果不阻止UI,就无法阻止执行。尝试使用对话框按钮的回调函数Good!!现在您的问题是什么?在单击“确定”按钮之前,如何停止提交流?如果用户点击模态对话框上的OK按钮,那么表单应该是submit。我想到的是,我想要的是一个关于submit的前后过滤器,比如rails过滤器。我通过定义boolean类型的变量来解决这个问题。开始时,变量设置为false。用户单击对话框上的“确定”按钮后,变量将设置为true,表单将被提交。在submit函数中,我验证变量是否为true,如果为true,则返回true,否则返回false。很好,您的问题得到了解决。