Ich möchte das Schreiben in ein Eingabefeld vom Typ text
mit JavaScript nach Möglichkeit deaktivieren . Das Eingabefeld wird aus einer Datenbank ausgefüllt. Deshalb möchte ich nicht, dass der Benutzer seinen Wert ändert.
javascript
html
kawtousse
quelle
quelle
oder
Beachten Sie, dass
readOnly
sich camelCase befinden sollte, damit es in Firefox (magic) korrekt funktioniert.Demo: https://jsfiddle.net/L96svw3c/ - erklärt etwas den Unterschied zwischen
disabled
undreadOnly
.quelle
readonly
(Kleinbuchstaben) funktioniert in Firefox 52 unter Ubuntu immer noch nicht - sollte ein Kamel sein.input
Element mit erstelltid="gate"
und versuche Ihren Code, der für mich nicht zu funktionieren scheint ...Wenn die Daten aus der Datenbank gefüllt wird, sollten Sie überlegen , nicht ein mit
<input>
Tag , um es anzuzeigen. Sie können es jedoch direkt im Tag deaktivieren:Wenn Sie es später mit Javascript deaktivieren müssen, können Sie das Attribut "disabled" festlegen:
Der Grund, warum ich vorschlage, den Wert nicht als anzuzeigen,
<input>
ist, dass er meiner Erfahrung nach Layoutprobleme verursacht. Wenn der Text lang ist, muss<input>
der Benutzer in einem versuchen, den Text zu scrollen, was normale Leute nicht vermuten würden. Wenn Sie es einfach in ein<span>
oder etwas fallen lassen, haben Sie mehr Flexibilität beim Styling.quelle
Sie können auch per jquery:
Arbeitsbeispiel:
quelle
Holen Sie sich einen Verweis auf Ihr Eingabefeld, wie Sie möchten (z. B.
document.getElementById('mytextbox')
), und setzen Sie dessenreadonly
Eigenschaft auftrue
:Alternativ können Sie diese Eigenschaft einfach inline hinzufügen (kein JavaScript erforderlich):
quelle