field_add_more_js
function field_add_more_js
field_add_more_js($form, $form_state)
Ajax callback in response to a new empty widget being added to the form.
This returns the new page content to replace the page content made obsolete by the form submission.
See also
File
- modules/field/field.form.inc, line 457
- Field forms management.
Code
function field_add_more_js($form, $form_state) { $button = $form_state['triggering_element']; // Go one level up in the form, to the widgets container. $element = drupal_array_get_nested_value($form, array_slice($button['#array_parents'], 0, -1)); $field_name = $element['#field_name']; $langcode = $element['#language']; $parents = $element['#field_parents']; $field_state = field_form_get_state($parents, $field_name, $langcode, $form_state); $field = $field_state['field']; if ($field['cardinality'] != FIELD_CARDINALITY_UNLIMITED) { return; } // Add a DIV around the delta receiving the Ajax effect. $delta = $element['#max_delta']; $element[$delta]['#prefix'] = '<div class="ajax-new-content">' . (isset($element[$delta]['#prefix']) ? $element[$delta]['#prefix'] : ''); $element[$delta]['#suffix'] = (isset($element[$delta]['#suffix']) ? $element[$delta]['#suffix'] : '') . '</div>'; return $element; }
© 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/modules!field!field.form.inc/function/field_add_more_js/7.x