gpt4 book ai didi

Drupal 7 FAPI ajax 和 jquery 提交事件

转载 作者:行者123 更新时间:2023-12-01 04:20:20 25 4
gpt4 key购买 nike

我在使用 FAPI 创建的表单的提交按钮中使用 #ajax。现在,当用户提交表单时,我想在通过 ajax 提交表单之前运行一些 jQuery 验证。由于 #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 提交之前验证内容。

最佳答案

我认为以下帖子中接受的答案回答了您的问题:How to extend or "hook" Drupal Form AJAX?

(function($) {
Drupal.behaviors.MyModule = {
attach: function (context, settings) {

// Overwrite beforeSubmit
Drupal.ajax['some_element'].options.beforeSubmit = function (form_values, element, options) {
// ... Some staff added to form_values
}
//Or you can overwrite beforeSubmit
Drupal.ajax['some_element'].options.beforeSerialize = function (element, options) {

// ... Some staff added to options.data
// Also call parent function
Drupal.ajax.prototype.beforeSerialize(element, options);
}

//...

关于Drupal 7 FAPI ajax 和 jquery 提交事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11219706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com