Ich muss einen Stil und eine schreibgeschützte Eigenschaft auf ein Eingabeelement eines Drupal-Formulars anwenden. Ich habe folgendes codiert:
%Vor% Und bei '#attributes' => array($inputAtributo => 1),
Bevor ich ein Formular erstelle, überprüfe ich, ob diese Eingabe nur gelesen werden und einen Stil anwenden soll:
%Vor%Das funktioniert, aber ich denke, es ist nicht richtig codiert
Der HTML-Code zeigt Folgendes:
%Vor%Wie kann ich das besser machen?
#attributes
soll nicht mit Stilen verwendet werden. Sie müssen ein Array mit Schlüssel und Werten bereitstellen, die HTML-Attribute reproduzieren. Und Klasse und CSS ist besser als Stil direkt in HTML hinzuzufügen.
Wenn Sie es in ein if einfügen möchten, können Sie dies tun:
%Vor%Beachten Sie, dass das readonly-Attribut auch "readonly" als Wert hat, also xhtml-kompatibel .
Fügen Sie nun eine CSS-Regel in Ihr Stylesheet ein:
%Vor%Die anderen Antworten sind korrekt. Anstatt readonly zu verwenden, würde ich lieber #disabled verwenden . Wenn das Formularfeld schreibgeschützt oder deaktiviert ist, ist #required ebenfalls nicht erforderlich, da die Benutzer den Wert nicht ändern können.
%Vor%Anstatt ein Textfeld zu verwenden, würde ich lieber ein Markup Formularfeld, wenn der Wert nur angezeigt und nicht bearbeitet werden soll.
%Vor%Um unser Eingabefeld schreibgeschützt in Drupal-Form zu machen, setzen Sie den Wert TRUE auf readonly .
Zum Beispiel
%Vor%Tags und Links drupal drupal-7 drupal-fapi