繁体   English   中英

如何在drupal7中覆盖Web表单提交功能?

[英]how to override a web form submit function in drupal7?

我有一个带有姓名和电子邮件字段的网络表单。 提交表单时,名称和电子邮件应存储在数据库中,PDF文件应开始下载。

我的问题是如何覆盖Web表单的提交功能,以便我可以在那之后添加额外的功能?

您需要使用hook_form_alter ()实现创建自定义模块。

function [YOUR_MODULE]_form_alter(&$form, &$form_state, $form_id)
{
    if($form_id == "YOUR_FORM_ID")
    {
        // target the submit button and add a new submission callback routine to the form
        $form['#submit'][] = 'YOUR_SUBMISSION_CALLBACK_FUNCTION';
    }
}

上面的代码将在表单的默认回调函数之后执行新的回调函数YOUR_SUBMISSION_CALLBACK_FUNCTION

要使新的回调函数名为BEFORE表单的默认回调函数,请使用以下代码而不是上面给出的代码:

array_unshift($form['#submit'], 'YOUR_SUBMISSION_CALLBACK_FUNCTION');

要取消表单的默认回调函数并强制它使用您的函数,请使用下面的代码

$form['#submit'] = array('YOUR_SUBMISSION_CALLBACK_FUNCTION');

希望这有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM