如何在一个$(document).ready中绑定两个表单的submit事件?
解决方法
你可以把两个表单选择器合并到同一个jQuery选择器字符串中,用逗号分隔,就能在同一个$(document).ready()里给两个表单绑定同一个提交事件处理函数。
正确代码写法如下:
$(document).ready(function() { // 用逗号分隔多个选择器,同时选中两个表单 $("#transaction_form_new, #transaction_form_edit").on('submit', function(e) { e.preventDefault(); var formData = new FormData(this); formData.append('farm', {{farm.id}}); $.ajax({ // 你的AJAX配置内容 }); }); });
关键说明
- 你之前的错误写法
$("#transaction_form_new"),$("#transaction_form_edit")不符合jQuery语法规范,jQuery不支持这种用逗号分隔两个独立选择器的方式,必须将多个选择器放在同一引号内,用逗号分隔。 - 事件处理函数里的
this会自动指向当前触发提交事件的表单,所以FormData(this)能正确获取对应表单的数据,新增和编辑表单都能正常适配。
内容的提问来源于stack exchange,提问作者haduki
相关产品推荐
相关产品推荐

