我想使用submit()提交一个表单,当我只使用submit()而没有任何匿名函数时它确实工作正常,问题是当我使用这样的匿名函数然后它停止工作
$('form').submit(function() {
alert("alert never shows up :( ");
});
Run Code Online (Sandbox Code Playgroud)
这是我的代码:(抱歉混合jQuery和getElementsByTagName,老家伙的错)
var uform = $('#createItem1');
if(uform[0]) {
// UI's first validation image extension before server-side
var _validFileExtensions = [".jpg", ".jpeg", ".gif", ".png"];
var arrInputs = uform[0].getElementsByTagName("input");
for (var i = 0; i < arrInputs.length; i++) {
var oInput = arrInputs[i];
//Checks if image is of valid extension
if (oInput.type == "file"){
var sFileName = oInput.value;
if (sFileName.length > 0) {
var blnValid = false;
for (var j = 0; j < _validFileExtensions.length; j++) {
var sCurExtension = _validFileExtensions[j];
if (sFileName.substr(sFileName.length - sCurExtension.length, sCurExtension.length).toLowerCase() == sCurExtension.toLowerCase()) {
blnValid = true;
// this works fine
$('#createItem1').submit();
break;
}
}
if (!blnValid) {
alert("Sorry, " + sFileName + " is invalid, allowed extensions are: " + _validFileExtensions.join(", "));
$('a#linkStep1').trigger('click');
return false;
}
}
}
}
}
return false;
Run Code Online (Sandbox Code Playgroud)
同样,一旦我尝试替换当前的submit()这样的东西,它就会停止工作
$('#createItem1').submit(function() {
alert("something");
});
Run Code Online (Sandbox Code Playgroud)
知道为什么不工作吗?
如果将函数(匿名或其他)传递给定义将在表单提交时运行的处理程序的.submit()方法,但它实际上不会导致表单提交.如果你没有传递参数,.submit() 这使得它提交.
如果要定义处理程序并同时提交,则可以执行以下操作:
$('#createItem1').submit(function() {
alert("something");
}).submit();
Run Code Online (Sandbox Code Playgroud)
.submit()没有参数是一个捷径.trigger("submit").
| 归档时间: |
|
| 查看次数: |
1089 次 |
| 最近记录: |