jquery multipart表单提交预防

时间:2012-11-16 08:46:33

标签: javascript jquery

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

代码

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

2 个答案:

答案 0 :(得分: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
});

只要你没有像onsubmit那样覆盖其他任何内容,.preventDefault()没有理由不在多部分表单上工作

这是jsbin

答案 1 :(得分:0)

使用普通的jQuery库不可能使用ajax发送多部分表单。 还有很多其他的插件。

我建议jQuery Form Plugin

它非常易于使用。只有你必须做的是在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!"); 
        }); 
    });