我遇到了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