Ich habe einen HTML5-Eingabebereich
%Vor%Wenn kein Attribut "value" gesetzt ist, wird der Standardwert auf die Mitte gesetzt (d. h. in diesem Fall 5). Gibt es eine Möglichkeit, es leer zu machen, so dass ich weiß, ob der Benutzer etwas aktiv eingegeben hat?
Ich habe ein anderes div für die Wertanzeige. Am Anfang wird der Wert "?" Sein, so dass der Benutzer weiß, dass er nichts eingegeben hat. Das Problem besteht darin, zu verhindern, dass die Eingabe einen Wert an das Backend sendet, wenn der Wert nicht aktiv gesetzt ist.
Leider ist dies eine Einschränkung des Elements [type=range]
:
Der Standardwert ist das Minimum plus die Hälfte der Differenz zwischen dem Minimum und dem Maximum, es sei denn, das Maximum ist kleiner als das Minimum. In diesem Fall ist der Standardwert das Minimum.
Wenn Sie keine andere Alternative haben, als dieses Element zu verwenden, würde ich vorschlagen, einen zusätzlichen Wert zu Ihrem Bereich hinzuzufügen und dann bei der Validierung des Formulars nach diesem Wert zu suchen. i.e. Wenn Ihr aktueller Bereich zwischen 0 und 10 liegt, ändern Sie den Bereich zwischen -1 und 10 und geben Sie dann den Wert -1 an. Überprüfen Sie auf der Validierungsseite, ob der Wert nicht gleich -1 ist.
Laut @ James Donnellys Antwort
Ich denke, Ihre Lösung besteht hier darin, ein paar JS hinzuzufügen, um Ihre eigene Überprüfung durchzuführen.
Ändern Sie einen booleschen Wert, wenn der Benutzer den Wert ändert und nach Änderungen fragt.
Hier eine Lösung, die Ihnen helfen kann.