我有一个页面上有多个表格。这些表单使用数据属性data-remote="true 以便 Rails jquery-ui-rails.js 自动添加事件以通过 javascript 提交这些表单。
当用户提交任何这些表单时,我想添加一个类,以便我可以根据需要对其进行样式设置。由于 Rails 会自动添加 ajax 处理程序以提交表单,因此我不能只在添加处理程序时添加此类 - 我需要自己手动添加代码(我认为)。
下面的代码是我的第一次尝试 - 这可以附加,但由于 ajaxStart 是一个全局事件,它会同时为页面上的每个表单触发它。
$('form').ajaxStart(function(e) {
console.log("element is " + ($(e).attr('id')));
return $(e).addClass('submitting');
})
根据http://docs.jquery.com/Ajax_Events ,我也尝试过 beforeSend这是一个本地事件,似乎是唯一相关的事件:
$('form').beforeSend(function(e) {
console.log("element is " + ($(e).attr('id')));
return $(e).addClass('submitting');
})
但是,这会引发错误:
Uncaught TypeError: Object [object Object] has no method 'beforeSend'
如何将此事件附加到页面上的所有表单,以便每次提交 ajax 时触发一次,并且仅针对正在提交的当前表单?