protected function FormBuilder::elementTriggeredScriptedSubmission

protected FormBuilder::elementTriggeredScriptedSubmission($element, FormStateInterface &$form_state)

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.

File

core/lib/Drupal/Core/Form/FormBuilder.php, line 1312

Class

FormBuilder
Provides form building and processing.

Namespace

Drupal\Core\Form

Code

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

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Form!FormBuilder.php/function/FormBuilder::elementTriggeredScriptedSubmission/8.1.x