【发布时间】:2009-10-27 20:57:19
【问题描述】:
鉴于此表单(包含提交按钮):
<form id="review_form">
<input type="submit" id="btn_submit" value="Submit with ajax! (submit button)">
</form>
和这个链接(提交相同的表格):
<a href="#" id="lnk_submit">Submit with ajax! (hyperlink)</a>
在下面的jQuery代码中,当#btn_submit元素被点击时,表单(#review_form)是用ajax提交的:
jQuery.fn.submitWithAjax = function() {
this.submit(function() {
$.post(this.action, $(this).serialize(), null, "script");
return false;
})
return this;
};
$(document).ready(function() {
$("#btn_submit").submitWithAjax();
})
我想要做的是删除提交按钮并使用上面的链接提交表单 (#lnk_submit) 是这样的:
$("#lnk_submit").click(function(){
$("#review_form").submit(function() {
$.post(this.action, $(this).serialize(), null, "script");
return false;
});
return false;
});
但问题是 这会复制上面定义的 jQuery.fn.submitWithAjax 中的所有代码。
这里避免代码重复的最佳方法是什么?
【问题讨论】:
标签: jquery code-duplication redundancy