【发布时间】:2013-02-06 08:58:59
【问题描述】:
我尝试使用带有 jquery 模态对话框的表单提交。看下面的代码。
$(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 按钮,应提交数据。
【问题讨论】:
-
好!!现在你的问题是什么?
-
如何停止提交流程,直到单击确定按钮?如果用户单击模态对话框上的“确定”按钮,则应提交表单。
-
发生在我身上的事情是,我想要的是在提交之前和之后的过滤器,比如 rails 过滤器。
-
我通过定义布尔类型的变量来解决问题。一开始,变量被设置为假。用户单击对话框上的确定按钮后,变量将设置为 true 并提交表单。在提交函数中,我验证变量是否为真,如果是则返回真其他假。
-
很好,您的问题已解决。
标签: jquery submit modal-dialog