这是脚本。它适用于所有其他浏览器,所以我认为这是一个缓存问题但不是真的。我一直在敲头几个小时,没有任何工作。
$.ajaxSetup({
cache: false
});
$("#send").live('click', function () {
console.log("AAAAA");
$("#loader").show();
$form = $('#reservationForm');
$inputs = $form.find('input[name^="entry"]'),
serializedData = $('#reservationForm :input[name^="entry"]').serialize();
console.log(serializedData);
serializedData += "&pageNumber=0&backupCache=1&submit=Submit";
// fire off the request to /form.php
$.ajax({
url: "https://docs.google.com/spreadsheet/formResponse?formkey=d",
// url: "https://docs.google.com/spreadsheet/formResponse?formkey=d;ifq",
type: "post",
data: serializedData,
// callback handler that will be called on success
success: function (response, textStatus, jqXHR) {
// log a message to the console
console.log("Hooray, it worked!");
$("#loader").hide();
document.getElementById('error<?php echo"$uname";?>').innerHTML = error;
$("#success").fadeIn();
setTimeout(function () {
$("#success").fadeOut();
}, 5000);
},
// callback handler that will be called on error
error: function (jqXHR, textStatus, errorThrown) {
// log the error to the console
console.log("The following error occured: " + textStatus, errorThrown);
alert('Due to an unknown error, your form was not submitted, please resubmit it or try later.');
},
// callback handler that will be called on completion
// which means, either on success or error
complete: function () {
// enable the inputs
$inputs.removeAttr("disabled");
}
});
// prevent default posting of form
event.preventDefault();
});
答案 0 :(得分:2)
try{
console.log('worked')
}
catch(err){
}
您可能想要检查您的事件变量是否未定义:
event= event || window.event;
event.preventDefault();
答案 1 :(得分:0)
在脚本的开头,您没有在处理程序中添加“event”声明:
$("#send").live('click', function () {
应该是:
$("#send").live('click', function (e) {
在脚本的末尾有一个变量事件的引用:
// prevent default posting of form
event.preventDefault();
我认为IE在全局事件对象(您正在引用)中没有'preventDefualt'函数:此函数被添加到jQuery传递的“e”事件对象中。无论如何,在“未定义事件”的所有其他浏览器中它也应该失败。试试这个:
// prevent default posting of form
e.preventDefault();
另外需要注意的是:jQuery团队目前不鼓励使用“实时”事件绑定功能,而应该使用等效形式的“on”功能。
答案 2 :(得分:0)
IE无法理解ajax中响应的内容类型。所以把你的dataType值放在请求中它应该工作。 例如 -
dataType: ($.browser.msie) ? "text" : "xml"