我将在验证表单后提交一个表单,如下所示,首先我使用ajax帖子并检查是否存在重复值。如果存在,ajax将返回html代码,否则返回'false'。如果ajax返回是"html代码",则应弹出对话框。如果ajax返回为false,则form_validate()应返回true。这意味着没有重复,表格将提交插入数据。如果用户在对话框中单击"确定",form_validate()应返回true,这意味着存在重复,表单将提交以更新数据。如果用户单击"取消"form_validate()应返回false,这意味着表单将不会提交。我正在计算这个小时,但无法计算出来。Plz帮助。
function form_validate(){
$.post('index.php',{ .....
},function(result){
if(result!='false'){
$('<div></div>')
.html(result+'<br/>Click OK to confirm. Click Cancel to stop this action.')
.dialog({
buttons : {
"OK": function() {
$(this).dialog("close");
return true;
}, "Cancel": function() {
$(this).dialog("close");
return false;
}
}
}
});
}
<form>
标签
<form action="index.php" method="post" name="adminForm" onsubmit="return validate_form();" >
function form_validation(){
$.post
.....
.....
,function(result){
if(result!='false'){
$('<div></div>')
.html(result+'<br/>Click OK to confirm. Click Cancel to stop this action.')
.dialog({
buttons : {
"OK": function() {
$(this).dialog("close");
$('#adminForm3').submit();
}, "Cancel": function() {
$(this).dialog("close");
}
}});
}
else{
$('#adminForm3').submit();
}
return ;
});
return false;
}
将表单id添加为adminForm3。这会很好用的。
您不能从异步请求返回数据,您需要通过回调来处理。我不熟悉jQuery UI,所以我不确定是否可以将"onClose"处理程序附加到对话框,您可以将true
或false
值传递到该对话框。