Javascript JQuery:重用提交函数
嘿,伙计们,我已经尽我所能地查看了,但我找不到答案,我正在创建一个管理界面,该界面到处都有表单,我想对所有表单使用相同的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
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