我正在制作一个捐款页面。填写完表单后,按下提交,将数据发送到php页面,然后返回html以显示模式,或者使用javascript来提交页面。由于javascript的异步性质,我不知道如何解决这个问题。当我单击提交有效数据时,它会检查数据,将布尔值切换为true,但不会提交,因为在返回数据之前检查它。
此网页也在wordpress中运行。
这是代码。
var check = 0;
function noError(){
check = 1;
}
jQuery('#donateform').submit(function() {
jQuery.post(
'validate.php',
jQuery("#donateform").serialize(),
function(data) {
jQuery('#overlay_msg').html(data);
}
);
if(check != 1)
event.preventDefault();
else
self.submit();
});
在validate.php
中调用
function noError() {
check = 1;
}
如果数据有效。
我会继续研究它。
谢谢!
答案 0 :(得分:1)
不确定我是否完全理解,但如果您的问题是流程顺序:IE,请单击提交,验证,然后实际通过ajax提交然后我会建议以下内容。
用按钮
替换提交类型输入当点击它时,它运行验证,如果验证通过,那么该函数通过ajax为您提交表单
HTML
<button type="button" id="submitButton">submit</button>
$('#submitButton').click(function(){
//run validation
if (validate == true){
ajaxSubmitFunction();
}
});
ajaxSubmitFunction(){
//run your ajax.
}
在验证并通过ajax
提交表单时,这给我带来了很多麻烦