jquery表单插件出现双重提交

jquery表单插件出现双重提交,jquery,forms,plugins,Jquery,Forms,Plugins,我的页面上有两个容器: <div id="foto_1"><span>Change foto</span><img src="" /></div> <div id="foto_2"><span>Change foto</span><img src="" /></div> 然后我调用我的函数: function imgUpload(div_id) { $('#myimgFo

我的页面上有两个容器:

<div id="foto_1"><span>Change foto</span><img src="" /></div>
<div id="foto_2"><span>Change foto</span><img src="" /></div>
然后我调用我的函数:

function imgUpload(div_id) {

 $('#myimgForm').submit(function(e){

    e.preventDefault();

    $(this).ajaxSubmit(
    {
        target:  '',
        success: function(data) {  

        var new_data = data.split('.');
        var path = new_data[0]+'_sm.'+new_data[1];
        $('#foto_'+div_id+' img').attr('src', '');
        $('#foto_'+div_id+' img').attr('src', path);

        },
        resetForm: true

    }); 
    return false;
  });
}
$('#foto_1 span').click(function(){

    imgUpload(1);
});

$('#foto_2 span').click(function(){

    imgUpload(2);
});
所以问题在于,当我单击第二个容器时,.ajaxsubmit()执行了两次。原因是什么?我在单击之前尝试解除绑定(“live”),还有简单绑定()和简单单击()-没有更改。。。请帮忙

这是一个html表单:

<form method="post" enctype="multipart/form-data"  id="myimgForm" name="myimgForm" action="/save_image_form.php"> 
    <div id="imgForm_div">
        <div id="img_input"><input type="file" name="caret" /></div>
        <input type="button" id="cancel_img" value="Cancel" />
        <input type="submit" value="Upload" />
    </div>
</form>

你试过了吗

$('#myimgForm').submit(function(e){

    e.preventDefault();

    $(this).ajaxSubmit(
    {

另外请注意,
live()
已被弃用。

我在一个问题中添加了html表单,我不明白为什么要将其作为jquery ui函数。你有演示吗?有什么区别吗?在此示例之前,我的函数更简单:函数imgUpload(div_id){}。我不能展示一个演示,因为它是管理面板的一部分。我没有要求你简化这个功能,我只是好奇为什么这样做。看起来您需要创建一些演示或提琴,很难说为什么在没有完整的文件源的情况下它会如此工作。我找到了原因)当您单击第二个容器时。ajaxSubmit()执行两次,因为表单中的submit按钮单击也会调用此函数。所以我从自己的函数中排除了.ajaxSubmit()。它必须立即独立。感谢AlecTMH(违约)