396 Stimmen

Wie mache ich eine Texteingabe nicht bearbeitbar?

Also habe ich ein Texteingabefeld

Hier ist mein CSS dafür

background:url("images/number-bg.png") no-repeat scroll 0 0 transparent;
border:0 none;
color:#FFFFFF;
height:17px;
margin:0 13px 0 0;
text-align:center;
width:17px; 

Gibt es eine Einstellung oder einen Trick dafür? Ich habe daran gedacht, stattdessen ein Label zu verwenden, aber wie sieht es mit dem Styling aus? Wie konvertiere ich sie und gibt es einen besseren Weg oder ist das der einzige Weg?

8voto

new QOpenGLWidget Punkte 1720

Fügen Sie readonly hinzu:

Wenn Sie möchten, dass der Wert nicht in einem Formular übermittelt wird, fügen Sie stattdessen das disabled Attribut hinzu.

Es gibt keinen Weg, dies immer mit CSS zu tun.

Warum? CSS kann nichts "deaktivieren". Sie können immer noch Anzeige oder Sichtbarkeit deaktivieren und pointer-events: none verwenden, aber pointer-events funktioniert nicht in Versionen des IE, die vor dem IE 11 veröffentlicht wurden.

6voto

J. Fan Punkte 591

Sie können es unter https://www.w3schools.com/tags/att_input_readonly.asp sehen

Der Methode, um "readonly" zu setzen:

$("input").attr("readonly", true)

um "readonly" abzubrechen (funktioniert in jQuery):

$("input").attr("readonly", false)

2voto

Michan Punkte 35

Du musst nur disabled am Ende hinzufügen

1 Stimmen

Der Wert wird nicht übermittelt, wenn Sie ihn auf deaktiviert setzen. Es könnte das sein, was Sie brauchen, aber das ist nicht das, was gefragt wurde. Übrigens bin ich genau hierher gekommen, weil mein "deaktivierter" Eingang nicht so funktionierte, wie ich es erwartet hatte

0voto

Ahmed Raza Punkte 353

Jede Eingabe muss ein schreibgeschütztes oder editierbares Feld haben, also verwende es

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X