function _form_element_triggered_scripted_submission

Detects if an element triggered the form submission via Ajax.

This detects button or non-button controls that trigger a form submission via Ajax or some other scriptable environment. These environments can set the special input key '_triggering_element_name' to identify the triggering element. If the name alone doesn't identify the element uniquely, the input key '_triggering_element_value' may also be set to require a match on element value. An example where this is needed is if there are several buttons all named 'op', and only differing in their value.

Related topics

1 call to _form_element_triggered_scripted_submission()
_form_builder_handle_input_element in includes/form.inc
Adds the #name and #value properties of an input element before rendering.

File

includes/form.inc, line 2197

Code

function _form_element_triggered_scripted_submission($element, &$form_state) {
    if (!empty($form_state['input']['_triggering_element_name']) && $element['#name'] == $form_state['input']['_triggering_element_name']) {
        if (empty($form_state['input']['_triggering_element_value']) || $form_state['input']['_triggering_element_value'] == $element['#value']) {
            return TRUE;
        }
    }
    return FALSE;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.