我正在做一个事件,页面检查它是否需要通过POST提交数据,或者简单的ajax调用是否可以。IE:有一个文件,如果没有文件提交数据并继续使用页面,它需要处理上传。
$(document).on("submit", "form", function (e) {
e.preventDefault();
if($(this).find('[name=file]').val()) { // HAS FILE SUBMIT
/*
If I use $(this).submit() then it just loops. I figured return true might work or putting e.preventDefault(); after this code
*/
}
// If it made it past that if then does ajax things that are fine.
}提前谢谢你。
发布于 2015-10-19 23:53:38
使用jQuery的$(this).submit()将触发事件处理程序,并防止默认操作,因此表单永远不会提交,它只是循环。
要阻止这种情况发生,请使用本机this.submit()。
$(document).on("submit", "form", function (e) {
e.preventDefault();
if ($(this).find('[name=file]').val()) { // HAS FILE SUBMIT
this.submit();
} else {
$.ajax(options); // ...etc
}
}发布于 2015-10-19 23:07:24
我没有测试它,但是您不能先测试文件,然后,如果没有文件,就做一个防止默认值(或者返回false)吗?
$(document).on("submit", "form", function (e) {
if($(this).find('[name=file]').val()) {
return true;
}
else {
e.preventDefault();
// Do AJAX
}
}https://stackoverflow.com/questions/33225367
复制相似问题