我有一个ajax提交,无论我尝试过什么都不会运行。直到我找到一个包含$(function() {});
调用的提交的教程。然后我在一个函数调用中包装了我的.submit,它似乎已经工作。令我难以置信的是,我有其他的.submit函数调用,而且不会被包装在函数中。我想知道如果我在这里错过了一个我不明白的jQuery细微差别吗?
为了更充分地说明我的意思,这里是我的功能之前和之后我在一个函数把它包起来......
之前...
$("#FormPutMsg1").submit(function (e) {
debugger;
e.preventDefault();
//animateSpinner();
var theURL = this.action;
var type = "POST";//this.methd;
var data = $(this).serialize();
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
dataType: "json",
success: function (result) {
debugger;
var data = result;
if (data.split(':')[0] == "Error") {
//$("#list").unblock();
$('#resultDiv').html('<b><p style="color: #ff00ff">' + data + '</p></b>');
setTimeout(function() {
$('#resultDiv').html("");
}, 10000);
}
else {
binddata(data);
}
}
});
return false;
});
后(这一个工程)。 ..
$(function() {
$("#FormPutMsg1").submit(function (e) {
debugger;
e.preventDefault();
//animateSpinner();
var theURL = this.action;
var type = "POST";//this.methd;
var data = $(this).serialize();
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
dataType: "json",
success: function (result) {
debugger;
var data = result;
if (data.split(':')[0] == "Error") {
//$("#list").unblock();
$('#resultDiv').html('<b><p style="color: #ff00ff">' + data + '</p></b>');
setTimeout(function() {
$('#resultDiv').html("");
}, 10000);
}
else {
binddata(data);
}
}
});
return false;
});
});
之前,我在常规提交功能prevaled功能包裹着我的功能(因为e.preventDefault从来没有叫我相信)。我错过了一些先生们(和女士)?
我不是故意在这里引起争议,但我的代码确实如此。它不包含在documenet.ready或任何类型的函数调用中。但是代码仍然执行。我必须在那里丢失一些东西。 – SoftwareSavant
'后'代码包装在“$(function(){})”中。我很困惑,为什么你说它不是。 “$(function(){})”将在页面加载后执行代码。 –
我的意思是说我在其他地方没有包含其他代码,或者确实有效。 – SoftwareSavant