我在使用FAPI创建的表单中使用#ajax提交按钮。现在当用户提交表单时,我希望在通过ajax提交表单之前运行一些jQuery验证。由于#ajax可以防止与提交按钮相关的事件,如提交,点击,mousedown,按键等。我无法使用jQuery捕获提交事件。Drupal 7 FAPI ajax和jquery提交事件
对于ajax.js现在作为一个解决办法,我已经添加自定义代码(MISC/ajax.js):
Drupal.ajax = function (base, element, element_settings) {
...
beforeSubmit: function (form_values, element_settings, options) {
//my custom code
alert(1);
...
这是对Drupal的最佳做法,我黑客攻击的核心。请任何人都可以帮助我从我的自定义js文件或任何其他方法来做同样的事情,以在ajax提交之前验证内容。
感谢您的回复。我试过---- Drupal.ajax ['some_element']。options.beforeSubmit = function(form_values,element_settings,options){ \t \t \t \t alert(1); \t \t \t \t - - - - }和 也----- Drupal.ajax.options.beforeSubmit =函数(form_values,element_settings,选项){ \t \t \t \t警报(1); \t \t \t \t} ----- 没有运气。我是否缺少任何东西,我需要传递给ajax ['some_element'],即some_element是传递给Drupal.ajax函数的参数 – user1122495
同样的问题在这里,我知道一些东西在下面的链接。因为我没有得到任何解决方案。 Drupal.ajax ['some_element']。options.beforeSubmit – Drupalrk
你确定在$(document).ready事件监听器中没有这部分代码吗?查看https://drupal.org/node/304258#drupal-behaviors时,Drupal将属性附加到行为。 –