经过大量调试和隔离问题后,我意识到我在请求表单中放置的 reCaptcha 导致字段被重置。
使用 AJAX,我将表单数据发送到 PHP 文件以进行验证和电子邮件提交。当您提交有错误的表单时(假设您忘记填写某些内容),它会将您滚动到页面顶部,其中 $.post() 函数返回错误。
在所有其他浏览器中,这可以完美运行。在 Internet Explorer 中,一旦提交请求并返回错误,所有表单字段都会重置。
// jQuery used to submit form
$("#support-form").validate({
submitHandler: function(form) {
$(".submit").attr("value", "Sending...");
$.post('/process-support.php', $("#support-form").serialize(), function(data) {
$('.results').html(data);
Recaptcha.reload();
});
}
});
然后,当我从 HTML 中删除验证码时,Internet Explorer 开始正确处理错误和表单字段。
有没有其他人遇到过这样的 reCaptcha / Internet Explorer 错误?