Felder in drupal nicht bearbeitbar machen 7

Gespeichert von vinay.gone am Di., 12.02.2019 - 17:34

Ziel: einige Felder (die berechnet werden) in Drupal 7 nicht bearbeitbar machen können 1 - So steuern Sie die Attribute eines Feldelements in Drupal 7 D7 Folgendes muss getan werden - fügen Sie eine after_build-Funktion für das Element hinzu Objective: Want to make some fields (which are computed) non-editable in Drupal 7 1 - How to control the attributes of a field element in drupal 7 D7 the following needs to be done - add an after_build function for the element /** * Implements hook_form_alter(). */ function msl_po_form_po_line_item_node_form_alter(&$form, &$form_state, $form_id) { // $form['field_po_li_kg_per_m']['#attributes']['readonly'] = 'readonly'; // does not work $form['field_po_li_kg_per_m']['und'][0]['#after_build'][] = 'msl_po_li_after_build_element_readonly'; } // end of function msl_po_purchase_order_node_form_alter /** * Process after_build for PO Line Items * Make this element readonly * #after_build callback for field elements in a form. */ function msl_po_li_after_build_element_readonly($element, &$form_state) { $element['value']['#attributes']['readonly'] = 'readonly'; //$element['value']['#attributes']['disabled'] = 'disabled'; // cannot use this since it'll not be a successful control // http://www.w3.org/TR/html401/interact/forms.html#adef-disabled return $element; } 2 - Sollte ich disabled oder readonly verwenden? ? Deaktiviert Schreibgeschützt Erfolgreich Steuerelemente

In diesem Beispiel ist das INPUT-Element deaktiviert. Daher kann keine Benutzereingabe empfangen werden, und der Wert wird nicht mit dem Formular übermittelt.
Verwenden Sie nur readonly, wenn Sie ihre Textfelder / Textfelder nicht bearbeiten möchten (nicht editierbar, nicht editierbar, nur lesbar). Bitte machen Sie sie nicht deaktiviert, da ihre Werte nicht an das Formular gesendet werden.

Blog-Kategorien