JQuery实时提交事件没有调用?

时间:2013-10-24 12:39:46

标签: javascript jquery

代码:

$("#pitch_image_path_browseiser").live("change",function(){

    $("#pitch_image_path_form").live("submit",function(e){
        alert("sdfdsf");
            this.submit();

        });


    });

现在调用了更改事件,但之后没有调用表单提交事件。

未调用实时提交事件。

7 个答案:

答案 0 :(得分:1)

当更改事件触发时,您拥有的代码将附加到submit事件。它不会触发任何事件

您需要直接触发提交

$("#pitch_image_path_browseiser").live("change",function(){
    $("#pitch_image_path_form")[0].submit();});

如果您希望对提交事件执行某些操作,则可以向提交添加事件。请注意,在将信息发送到服务器之前会触发该事件。提交完成时没有事件,因为提交重新加载页面(或其他页面)

 $(function(){
     $("#pitch_image_path_browseiser").live("change",function(){
        $("#pitch_image_path_form")[0].submit();
     });

      $("#pitch_image_path_form").live("submit",function(){
         //do what ever you need to do here
         //$.post(url);
      });
  });

答案 1 :(得分:1)

亲爱的renishkhunt请尝试此代码。这对我来说是完全有用的。

$("#pitch_image_path_browseiser").live("change",function(){
    $("#pitch_image_path_form").ajaxSubmit({ success: function(){ 
            alert("sdfdsf");
     } });
});

请查看此链接this is tutorial

答案 2 :(得分:0)

我做了一些更改,因为在您的代码中,每次submit更改时都会附加#pitch_image_path_browseiser事件。 ,告诉我它是否解决了你的问题:

$("#pitch_image_path_browseiser").die('change').live('change',function(){

$("#pitch_image_path_form").unbind('submit').bind("submit",function(e){
    alert("sdfdsf");
        //this function is already called ONLY when form is submitted...
       // this.submit();

    });

});

但在这种情况下,您必须等待提交表单...如果您要提交表单,请使用或添加:

$("#pitch_image_path_form").submit();

所以,如果我明白你不想这样做,我认为好的方法是:(我保持live电话)

 $("#pitch_image_path_form").unbind('submit').bind("submit",function(e){
    alert("sdfdsf");
});
$("#pitch_image_path_browseiser").die('change').live('change',function(){
   $("#pitch_image_path_form").submit();
});

答案 3 :(得分:0)

自jQuery 1.9以来,jQuery .live()不可用。你在运行什么版本?

无论如何,请改用.on()

$(document).on('change', '#pitch_image_path_browseiser', function() { 
    $(document).on('submit', '#pitch_image_path_form', function(e){
       alert("sdfdsf");
       $("#pitch_image_path_form").submit();
    });
});
希望有所帮助。

答案 4 :(得分:0)

您是否尝试这样做:

$("#pitch_image_path_browseiser").live("change",function(){
    $("#pitch_image_path_form").submit();
});

这意味着当触发“更改”时,请提交表单。

答案 5 :(得分:0)

只需调用$(“#pitch_image_path_form”)。submit()而不是第二个.live

但是你需要在别处指定.live方法

$("#pitch_image_path_browseiser").live("change",function(){
    $("#pitch_image_path_form").submit();
});

$("#pitch_image_path_form").live("submit",function(e){
    alert("sdfdsf");
});

答案 6 :(得分:0)

this.submit()在提交时被调用...我想你想触发它来显示提醒

尝试:

```

$(document).ready(function() {

  $("#pitch_image_path_browseiser").die('change').live('change',function(){
    $("#pitch_image_path_form").unbind('submit').bind("submit",function(e){
        alert("sdfdsf");
    });
  });

  $("#pitch_image_path_form").trigger('submit');

});