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 drupal/includes/form.inc
Adds the #name and #value properties of an input element before rendering.

File

drupal/includes/form.inc, line 2182
Functions for form and batch generation and processing.

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