经过大量的调试和隔离问题,我意识到我在请求表单中放置的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中删除Captcha时,Internet Explorer开始正确处理错误和表单字段 .

有没有其他人遇到像这样的reCaptcha / Internet Explorer错误?