0

jquery 表单提交预防使用e.preventDefault()在多部分表单提交中不起作用(当我使用 ajax 提交时)。有什么办法可以解决吗?

代码

$('.imgChange').submit( function(e){
    load('do_upload.php',$(this).serialize());
    e.preventDefault();
});
4

2 回答 2

1

这也适用于多部分形式

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

于 2012-11-16T08:53:44.503 回答
0

使用普通的 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!"); 
        }); 
    }); 
于 2012-11-16T08:55:40.203 回答