Javascript JQuery:重用提交函数

Javascript JQuery:重用提交函数,javascript,jquery,ajax,forms,dynamic,Javascript,Jquery,Ajax,Forms,Dynamic,嘿,伙计们,我已经尽我所能地查看了,但我找不到答案,我正在创建一个管理界面,该界面到处都有表单,我想对所有表单使用相同的jquery代码,我有一些代码可以完成这项工作,但我想知道是否有更有效的方法来完成。这是密码 function submitForm( formname ) { $.ajax ({ type:'POST', url: 'session.php', data: $(formname).serialize(), success

嘿,伙计们,我已经尽我所能地查看了,但我找不到答案,我正在创建一个管理界面,该界面到处都有表单,我想对所有表单使用相同的jquery代码,我有一些代码可以完成这项工作,但我想知道是否有更有效的方法来完成。这是密码

    function submitForm( formname ) 
{
  $.ajax
  ({
    type:'POST', 
    url: 'session.php', 
    data: $(formname).serialize(), 
    success: function(response) 
    {
      if( $('#message_box').is(":visible") ) 
      {
        $('#message_box_msg').html ('') 
        $('#message_box').hide();
      }
      $('#message_box').slideDown();
      $('#message_box_msg').html (response);      
    }
  });
return false;
}
现在我的表单看起来像这样:

<form id="adminForm" action="session.php" method="post" onsubmit="return submitForm('#adminForm');">

现在我的问题是。。。有没有一种更简单的方法可以做到这一点,比如不必每次都向submitForm()函数提供表单id


提前谢谢

是的,为所有表单定义一个公共类,并使用

$(".form_class").submit(function() {

  //stuff that gets executed on form submission ...

  return result;
})

并转储内联“onsubmit”。一般来说,这样做更简洁,因为它将视图与行为分离。

您可能希望将处理程序委托给页面中的文档或其他永久资产,以说明任何ajax加载的表单。这将替换您的内联
onsubmit

$(document).on('submit','form', function(){ 

     var allowSubmit=false,
         noSubmitMessage="Can't submit", /* can change message in various places in following code depending on app*/
         $form=$(this);/* cache jQuery form object */
    if( $form.hasClass('doValidation')){
        /* class specific code to run*/    
        allowSubmit = validationFunction();
    }

    if( allowSubmit){
       var data=$form.serialize()          
       /* do ajax*/
    }else{
       /* user feedback*/ 
       alert( noSubmitMessage);
    }

return false;

});

我试过了!这需要15个声望才能投票,这是我的第一个问题:/对不起。。。但是谢谢!!:D