1

jQueryを使用してジェネリック関数を作成しようとしていますが、何らかの理由で呼び出されません。以下に示すようにアラートを追加すると、最初のアラートは'My plugin invoked'ポップアップしますが、2番目のアラート'Submitting'はポップアップしません。

どんな助けでも大歓迎です。ありがとう

$(document).ready(function() {

  jQuery.fn.ajaxFormSubmit = function(parameter1, parameter2) {
    alert('My plugin invoked...');
      this.submit(function(e) {
          alert('Submitting.......');
          $.ajax({ 
              url: "/Servletpath",
              dataType: "json",
              data: { //data
                    },

              success:  (function(data) {
                            alert('success');
                        }),  
              error:    (function() { 
                            alert('error');
                        })          
            });
          return false;
      });
  };

  $("#search").live("click", function() {
      var parameter1 = $("#id1").val();
      var parameter2 = $("#id2").val();
      $("#form_id").ajaxFormSubmit(parameter1, parameter2);
      return false;
  });
});
4

1 に答える 1

1

this.submit(function() {...})送信はトリガーされません。フォームが送信されるのを待ってから、コールバックを呼び出します。これは役に立ちます

this.submit(function(e) {
    ...
}).trigger('submit');

あるいは単に

  jQuery.fn.ajaxFormSubmit = function(parameter1, parameter2) {
    alert('My plugin invoked...');
    alert('Submitting.......');
    $.ajax({ 
        url: "/Servletpath",
        dataType: "json",
        data: { //data
              },
        success:  function(data) {
                        alert('success');
                    },  
          error:    function() { 
                        alert('error');
                    }          
        });
  };
于 2012-11-13T16:25:07.443 に答える