Jquery 在没有循环的情况下提交
Jquery on submit without looping
我正在创建一个事件,页面会检查它是否需要通过 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.
}
提前致谢。
我没有测试,但是你不能先测试文件,然后,如果没有文件,做一个防止默认(或return false)?
$(document).on("submit", "form", function (e) {
if($(this).find('[name=file]').val()) {
return true;
}
else {
e.preventDefault();
// Do AJAX
}
}
使用 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
}
}
我正在创建一个事件,页面会检查它是否需要通过 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.
}
提前致谢。
我没有测试,但是你不能先测试文件,然后,如果没有文件,做一个防止默认(或return false)?
$(document).on("submit", "form", function (e) {
if($(this).find('[name=file]').val()) {
return true;
}
else {
e.preventDefault();
// Do AJAX
}
}
使用 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
}
}