문제

I have a web form with name and email fields. when the form is submitted the name and email should store in database and an PDF file should start download.

my question is how to override the submit function of the web form so that i can add that extra function after that?

도움이 되었습니까?

해결책

You will need to create a custom module with hook_form_alter() implementation.

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';
    }
}

The code above will execute your new callback function YOUR_SUBMISSION_CALLBACK_FUNCTION AFTER the form's default callback function.

To make your new callback function called BEFORE the form's default callback function, use the following code instead of the giving above:

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

To cancel the form's default callback function and force it to use your function ONLY, use the code below

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

Hope this help.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top