清除表单而不刷新

时间:2011-08-01 21:41:34

标签: php jquery

正在处理一个带有recaptcha的表单并且使用jquery进行验证,一切正常工作*信息发送到我的电子邮件,所有必填字段都在发送之前进行检查)

我面临的唯一问题是,一旦发送信息并重置所有字段,就会显示错误消息 他们被隐藏的唯一方法是,如果页面是我更改js“重置”设置为“清除”但这刷新了pagge和感谢信息不再可见。

(我知道也许所有听起来有点混乱) 这是正在谈论的代码

function validateCaptcha(){
    challengeField = $("input#recaptcha_challenge_field").val();
    responseField = $("input#recaptcha_response_field").val();
    nameField = $("input#name").val();
    emailField = $("input#email").val();
    phoneField =$("input#phone").val();
    reasonField =$("input#reason").val();
    messageField =$("textarea#message").val();

    var html = $.ajax({
    type: "POST",
    url: "ajax.recaptcha.php",
    data: "recaptcha_challenge_field=" + challengeField + "&recaptcha_response_field=" + responseField +"&name="+ nameField +"&email=" + emailField +"&phone="+ phoneField + "&reason=" + reasonField +"&message=" + messageField,
    async: false
    }).responseText;

    if(html == "success")
    {
        $('#contactForm').each (function(){
          this.reset();
         Recaptcha.reload();
        }) 

        $("#thanks").html("Thank you");


         return false;
    }

    else
    {
        $("#captchaStatus").html("Your captcha is incorrect. Please try again");
        Recaptcha.reload();
        return false;
    }
}

2 个答案:

答案 0 :(得分:7)

使用重置按钮清除表单字段。

<input type="reset" />

答案 1 :(得分:0)

为什么不简单地添加:

$("#captchaStatus").html("");

正下方:

$("#thanks").html("Thank you");

这应该清除你的错误信息。