Gibt es eine Möglichkeit, den Standardwert der Bereichseingabe auf leer zu setzen?

9

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.

    
cytsunny 28.10.2016, 09:52
quelle

3 Antworten

6

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.

     

- HTML5-Spezifikation

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.

    
James Donnelly 28.10.2016, 09:58
quelle
1

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.

%Vor% %Vor%
    
Alexis 28.10.2016 10:14
quelle
0

Was Sie tun müssen, ist, dass nachdem Sie Ihren Eingabe-Ranger erstellt haben, Verwenden Sie jquery, um diese Bereiche auf 0 zu rendern, und es funktioniert

    
Joetag 28.04.2017 04:40
quelle

Tags und Links