我在使用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將屬性附加到行爲。 –