0

我有一个正在处理的捐赠页面。填写完表单后,按下提交,将数据发送到一个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;
}

如果数据有效。

我会继续研究它。

谢谢!

4

1 回答 1

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 提交表单时,这为我解决了很多问题

于 2012-11-05T19:54:53.893 回答