1

我正在尝试使用 jQuery 创建一个通用函数,但由于某种原因它没有被调用。当我添加如下所示的警报时,会弹出第一个警报,但不会弹出'My plugin invoked'第二个警报。'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 回答