我尝试使用带有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按钮,数据应该提交。
答案 0 :(得分:1)
JavaScript是单线程的,因为JavaScript用于显示对话框并处理对它的任何点击,所以在没有阻止UI的情况下无法阻止执行。尝试使用对话框按钮的回调函数