正在处理一个带有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;
}
}
答案 0 :(得分:7)
使用重置按钮清除表单字段。
<input type="reset" />
答案 1 :(得分:0)
为什么不简单地添加:
$("#captchaStatus").html("");
正下方:
$("#thanks").html("Thank you");
这应该清除你的错误信息。