jquery 表单提交预防使用e.preventDefault()
在多部分表单提交中不起作用(当我使用 ajax 提交时)。有什么办法可以解决吗?
代码
$('.imgChange').submit( function(e){
load('do_upload.php',$(this).serialize());
e.preventDefault();
});
jquery 表单提交预防使用e.preventDefault()
在多部分表单提交中不起作用(当我使用 ajax 提交时)。有什么办法可以解决吗?
代码
$('.imgChange').submit( function(e){
load('do_upload.php',$(this).serialize());
e.preventDefault();
});
这也适用于多部分形式
HTML
<form id="form-id" action="/UploadFile" enctype="multipart/form-data" method="post">
<input type="submit" value="Submit" />
</form>
jQuery
$('#form-id').submit( function(e){
e.preventDefault();
alert('submit prevented');
// rest of the code here
});
只要您没有其他任何东西像 an 那样覆盖它onsubmit
,就没有理由.preventDefault()
不处理多部分表单
这是一个jsbin
使用普通的 jQuery 库,不可能使用 ajax 发送多部分表单。还有许多其他插件。
我推荐jQuery 表单插件
这是非常容易使用。只有你需要做的是在 jQuery 之后导入那个插件
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>
然后使用
$(document).ready(function() {
// bind 'myForm' and provide a simple callback function
$('#myForm').ajaxForm(function() {
alert("Thank you for your comment!");
});
});