我遇到了IE的问题,大惊喜吧?我有一个网络表单提交姓名,电话和电子邮件给另一个域下的脚本。我是jquery.ajax来提交表单。我也使用jquery.validate进行表单验证。姓名和电子邮件是必需的。手机是可选的。jQuery ajax跨域与IE提交表单提交问题
当我在Chrome中提交表单时,它完美地工作。我收到了我的谢谢电子邮件,我的数据到达了其他域的脚本。
当我在IE9中尝试相同的表单时,我填写所有字段并点击提交,它看起来像它的提交(我收到的表单是谢谢你的消息),但没有任何数据使它对服务而且我也没有收到确认电子邮件 - 所以它实际上并没有发布。
那么我怎么能得到这个脚本在IE7,8,9工作。这是现在的脚本......当我取消注释成功操作中的警报时,我会在IE中看到警报。它只是没有发布数据。我在这里看过很多关于这方面的文章,但是我并没有把所有的东西都以一种理解的方式融合在一起。
我听说这个作品直接与IE10开箱即用。
jQuery.validator.setDefaults({
submitHandler: function() {
var cons_info_component = jQuery("#cons_info_component").val();
var cons_mail_opt_in = jQuery("#cons_mail_opt_in").val();
var longnum = jQuery("#1540_6383_2_8347_1").val();
var survey_id = jQuery("#SURVEY_ID").val();
var cons_email_opt_in = jQuery("#cons_email_opt_in").val();
var cons_email_opt_in_requested = jQuery("#cons_email_opt_in_requested").val();
var cons_first_name = jQuery("input#cons_first_name").val();
var cons_last_name = jQuery("input#cons_last_name").val();
var cons_email = jQuery("input#cons_email").val();
var cons_phone = jQuery("input#cons_phone").val();
if(cons_phone === "PHONE NUMBER (OPTIONAL)") { cons_phone = ''; }
var ACTION_SUBMIT_SURVEY_RESPONSE = jQuery("#ACTION_SUBMIT_SURVEY_RESPONSE").val();
var dataString = 'cons_info_component='+cons_info_component+'&cons_mail_opt_in='+cons_mail_opt_in+'&1540_6383_2_8347='+longnum+'&SURVEY_ID='+survey_id+'&cons_first_name='+cons_first_name+'&cons_last_name='+cons_last_name+'&cons_email='+cons_email+'&cons_phone='+cons_phone+'&cons_email_opt_in='+cons_email_opt_in+'&cons_email_opt_in_requested='+cons_email_opt_in_requested+'&ACTION_SUBMIT_SURVEY_RESPONSE='+ACTION_SUBMIT_SURVEY_RESPONSE;
jQuery.ajax({
type: "POST",
url: "http://urlthatIsubmittoo.com/script/",
crossDomain: true,
cache: false,
data: dataString,
statusCode: {
404: function() {
//alert('page not found');
},
200: function() {
//alert('success');
}
},
success: function() {
//alert('submited');
},
complete: function() {
jQuery('div.convioform').html("<div class='tybox'></div>");
jQuery('div.convioform .tybox').html("<h5 class='webform-title'>Thank You</h5><p>You'll soon be receiving our e-mails and updates now.</p>");
}
}); // close .ajax line
},
});
@nathanhayfield:总是假设这些问题接受了可接受的答案。没有人应该接受仅仅为了保持其利率而不能接受的答案。 –
好点,但我只是说 –
我可以建议,如果你对你的代码应用了一些合理的缩进,它会让我们更容易跟随,因此更容易发现任何问题? – nnnnnn