Input-Typ für HTML-Formular für integer
Der folgende code ist aus einem HTML-Formular. Wenn der Eingang soll ein integer sein, muss ich dann ändern Sie den "Typ"?
<div class="friend2title">
<label for="url">Add points:</label>
</div>
<div class="friend2field">
<input name="state" type="text" id="state" maxlength="150">
</div>
InformationsquelleAutor der Frage John | 2012-07-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Indem die
step
Attribut, beschränken Sie die Eingabe auf ganze zahlen.Natürlich sollten Sie immer überprüfen, die auf dem server auch. Außer unter sorgfältig kontrollierten Bedingungen, alles erhielt von einem client benötigt, um behandelt werden als verdächtig.
InformationsquelleAutor der Antwort Kivi Shapiro
Wenn Sie mithilfe von HTML5 verwenden, sollten Sie die Art des Eingangs
number
. Wenn Sie mit xhtml oder html 4, input type solltetext
.InformationsquelleAutor der Antwort gcochard
Dies könnte helfen:
step
für die Bequemlichkeit (und könnte gesetzt werden, um eine weitere ganze Zahl), aberpattern
hat einige tatsächliche Durchsetzung.Beachten Sie, dass seit
pattern
passt der ganze Ausdruck, es war nicht notwendig, um es auszudrücken, wie^\d+$
.Sogar mit dieser nach außen hin dicht regulären Ausdruck, Chrome und Firefox Implementierungen, interessanterweise ermöglichen
e
hier (vermutlich für wissenschaftliche notation) sowie-
für negative zahlen, und Chrome ermöglicht auch.
in der Erwägung, dass Firefox ist fester in der Ablehnung, es sei denn, die.
ist gefolgt von 0 nur. (Firefox markiert das Feld als rot auf den Eingabe-Fokus-Verlust in der Erwägung, dass Chrome nicht lassen, die Sie eingeben, nicht erlaubte Werte in den ersten Platz.)Da, wie beobachtet, von anderen sollte man immer überprüfen, auf dem server (oder auf dem client auch, wenn der Wert lokal auf dem client oder der Wunsch zu verhindern, dass der Nutzer ein roundtrip zum server).
InformationsquelleAutor der Antwort Brett Zamir
Vor HTML5, input type="text" bedeutet einfach ein Feld einfügen freier text, unabhängig davon, was Sie wollen. das ist die Aufgabe von Validierungen, die Sie würde tun müssen, um zu garantieren, gibt der Benutzer eine gültige Zahl
Wenn Sie mit HTML5, können Sie die neue input-Typen, von denen Anzahl , validiert automatisch die text-Eingabe, und zwingt Sie, eine Reihe
halten Sie im Verstand, obwohl, dass, wenn Sie eine server-side-app (php zum Beispiel) wird noch zu überprüfen die Eingabe auf dieser Seite (stellen Sie sicher, es ist wirklich eine Nummer), da es ziemlich leicht zu hacken, die html und ändern Sie die Art des Eingangs, entfernen Sie die browser-Validierung
InformationsquelleAutor der Antwort Naps62
Nein, es ist nicht über den Datentyp der Eingabe. Es gibt die Art der Steuerung zu erstellen:
InformationsquelleAutor der Antwort Mahmoud Gamal
Selbst wenn Sie annehmen möchten, zahlen für den input, ich würde empfehlen, mit der
text
geben.Client-Seite laufen einige jQuery-Validierungen zu überprüfen, ob dies eine Zahl ist.
Dann in Ihre server-side-code, einige Validierung zu überprüfen, ist es in der Tat einen numerischen Wert.
InformationsquelleAutor der Antwort Only Bolivian Here