html5 oninvalid funktioniert nicht, nachdem das Eingabefeld festgelegt wurde

7

Ich habe diesen Eingabecode in meiner Form:

%Vor%

Ich ändere die oninvalid Nachricht mit diesem Javascritp Code:

%Vor%

Hier ist das Problem, wenn ich auf submit und das Feld ist leer, das Feld shome den Fehler, so dass ich das Feld ausfüllen muss, aber nach dem Füllen des Feldes, bekomme ich immer noch die Warnung, auch die Füllung ist nicht leer.

Was ich falsch mache ???

    
Jean 26.12.2012, 16:54
quelle

4 Antworten

5

Sie können eine benutzerdefinierte Gültigkeitsnachricht mit setCustomValidity festlegen. Jede nicht leere Zeichenfolge bewirkt jedoch, dass das Feld so wirkt, als hätte es einen ungültigen Wert. Sie müssen setCustomValidity('') eingeben, um den ungültigen Status des Feldes zu löschen.

Wenn Ihre Gültigkeit einfach ist und über Feldattribute gesteuert wird, können Sie object.willValidate verwenden, um den Test durchzuführen und die benutzerdefinierte Gültigkeitsnachricht zu setzen:

oninvalid="this.setCustomValidity(this.willValidate?'':'your custom message')"

    
Erics 12.02.2013, 13:59
quelle
16

Wenn Sie einen Wert mit setCustomValidity() festlegen, ist das Feld ungültig. Wenn Sie eine Zeichenfolge ungleich Null festlegen, wird das Feld vom Browser als ungültig betrachtet. Um die Auswirkungen Ihrer neuen Eingabe zu nutzen, müssen Sie die benutzerdefinierte Gültigkeit löschen. Sie können einfach Folgendes verwenden:

%Vor%

Hierfür ist kein Javascript erforderlich.

    
venkat reddy padala 09.05.2015 04:52
quelle
1

Wenn Sie setCustomValidity auf einen Wert setzen, der nicht der leere String ist, wird% input im Status invalid sein. Ihre Bedingung ist also, nach einem Wert zu suchen und dann das Feld auf invalid zu setzen. Nur setCustomValidity , wenn der Wert im Feld tatsächlich ungültig ist, andernfalls auf eine leere Zeichenfolge:

%Vor%     
robertc 27.12.2012 00:11
quelle
0

Bei mir funktioniert nur oninvalid="this.setCustomValidity(this.willValidate ? '' :'You must choose the account type from the list')" . Es gibt viele Probleme bei der Verwendung mit IE.

    
Ojas Deshpande 29.11.2016 20:31
quelle

Tags und Links