Was ist der Punkt, der mit versteckten input in HTML? Was sind typische Einsatzbereiche für diese?
Ich sehe nicht den Vorteil, den versteckten Eingang? Wenn Sie den Wert des versteckten input-warum nicht einfach den Wert an der Stelle, wo Sie auf das versteckte input?
Gibt es Gründe dafür, aber ich kenne Sie nicht.
InformationsquelleAutor der Frage KRB | 2011-09-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werden Sie verwendet, um die Daten übergeben, die benötigt werden, wenn das Formular abgeschickt wird. Einer der häufigsten Fälle wäre ein Formular erstellen, mit dem Benutzer zu Bearbeiten, vorhandenen Eintrag. Sie müssen wissen, welche Eintrag, den Sie Bearbeiten, so dass Sie aktualisieren können, die richtige Zeile in der Datenbank, wenn Sie das Formular abschicken. Die muss der Benutzer nicht Bearbeiten (oder sogar wissen) die ID des Eintrags obwohl, so ein hidden-Feld funktioniert hier gut.
Andere Optionen
URL-Parameter:
Dies könnte auch getan werden, indem die Parameter in der url, das Formular wird gesendet an:
aber das heißt, Sie haben zu handhaben Gebäude die URL korrekt und der Flucht die Daten selbst, und die Länge der URLs von Servern akzeptieren ist begrenzt, so dass es nicht für mehr Daten. Also in der Regel mit versteckten Formularfeldern ist der einfachere Weg zu gehen.
Session-Variablen: Wenn die edit-Seite geladen würden Sie speichern den Eintrag ID in eine session-variable, und dann rufen Sie es auf die Seite, speichert die änderungen. Das ist viel einfacher zu versauen, obwohl; die Einrichtung und Aufrechterhaltung Sitzungen erfordern hinzufügen von code in verschiedenen Orten, und dann Ihre Sitzung Auslaufen könnte zwischen laden und speichern, und Sie haben, um sicherzustellen, dass es funktioniert, wenn Sie mehrere Fenster oder Registerkarten geöffnet haben, und Sie haben, um sicherzustellen, dass es nicht tun seltsame Dinge, wenn Sie auf die zurück/vorwärts. Wegen dieser möglichen Fallstricke ist es nicht eine großartige Möglichkeit, um das problem zu lösen--die übergabe der id, mit der Daten gesendet werden ist viel robuster.
Cookies: In vielen Sprachen/frameworks Sitzungen verfolgt werden cookies verwendet, also sind Sie im Grunde die gleiche Lösung. Die Fallstricke sind die gleichen wie für die session-Variablen auch, wenn die Sitzungen verfolgt werden, die durch andere Methoden aber.
InformationsquelleAutor der Antwort Brad Mace
Sendet es zusätzliche Informationen, die der Benutzer nicht kennen oder nicht interessiert (wie ein Sicherheits-token), so dass, wenn das Formular abgeschickt wird zweimal, vergleichen kann man die Token und abzulehnen/zu akzeptieren, dass die Einreichung.
InformationsquelleAutor der Antwort genesis
Dem Versteckten Input-Feld wird auf der Seite nicht angezeigt, also es nicht zulassen, dass die Besucher nichts hinzufügen. Die Verdeckte Eingabe ermöglicht es Ihnen, den webmaster, um spezifische Informationen zu einem Formular übergeben werden, durch die Formular-Prozessor zusammen mit den Daten, die der Besucher.
Zum Beispiel, wenn Sie mehrere Formulare haben, die auf unterschiedlichen Seiten Ihrer website, die Sie könnte eine Versteckte tag, in jeder form, dass es erkennt, welche Seite der Besucher war, als Sie das Formular ausgefüllt haben.
InformationsquelleAutor der Antwort Tamara
Den versteckten Eingang, wenn Sie wollen, Informationen zu senden zurück auf einen Beitrag, ohne dass der Anwender sehen die Daten als ein element der Benutzeroberfläche.
Das web ist zustandslos - ergo, wenn ein POST kommt, haben Sie nur ein paar Stücke von Informationen, um zu bestimmen, was Sie tun müssen, Session, Url, einige ServerVariables, und die Daten des Formulars an Sie übergeben.
Wenn ein Teil der Daten ist vorübergehend, das ist nicht hilfreich für die Umsetzung in der Sitzung, manchmal ist es klug, um in ein verstecktes Feld.
Sie können auch nützlich sein für die Speicherung von Daten auf der client-Seite für rich-internet-Anwendungen (wie Produkt-Id, die leicht zugänglich für die Nutzung in ajax-calls).
InformationsquelleAutor der Antwort Tejs
Nicht mit versteckten Eingänge bedeutet, dass der server braucht, um den überblick über diese Werte statt. Dies erfordert die server halten Stand, das könnte sonst in die embedded-Antrag (form) selbst. Dadurch kann die Seite Unruhig (nicht Erholsamen), d.h. durchbrechen der selbst-containedness einer HTTP-Anfrage. Wenn Sie hat verfolgen, versteckte Werte auf dem server, würden Sie mindestens brauchen, um das einbetten eines eindeutigen token in jeder form zu befassen sich mit verschiedenen einzigartigen Einsendungen von der gleichen form. Die sauberste Möglichkeit zum einbetten von einem solchen token ist, Trommelwirbel, durch einen versteckten Eingang. 🙂
InformationsquelleAutor der Antwort deceze
weil Sie haben eine php-while-Schleife mit einer Menge von verschiedenen Objekten, die Sie nicht bekommen kann die id ' s später und Sie nur retten, indem wir Sie in der hidden-input... auch ich möchte, dass Sie ein Sicherheits-check meines wissen die Benutzer nicht Durcheinander mit meinem post Variablen durch manipulieren von Daten
InformationsquelleAutor der Antwort GuyFromOverThere
Wenn Sie bauen ein tag-system wie das hier. Können Sie die Werte in ein verstecktes Feld.
InformationsquelleAutor der Antwort Vince V.
Betrachten Sie ein Formular, das angezeigt wird, zu Bearbeiten eines Datensatzes in eine Datenbank, eine Technik zum Backen die id des Datensatzes in ein hidden-input-und habe es zurückgesendet, so kann der server Lesen es zurück.
Es ist auch Häufig für Zwecke der Gefahrenabwehr (wie genesis gesagt hat).
Ein weiterer Grund könnte sein, dass für javascript-orientierte Szenarien, vielleicht für nicht-standard-controls wie treeviews, wo das Konzept von einem ausgewählten Knoten dargestellt werden kann als ein normaler Eingang. Stattdessen JS manipulieren kann, ein verstecktes Feld und speichern der node-name/id in es, so dass es von dem server gelesen werden.
InformationsquelleAutor der Antwort Andras Zoltan
Es ist genau das, was sein name bereits andeutet, eine Eingabe in ein Formular, das dem Benutzer verborgen bleibt. Es ist ein Weg, um Daten an den server, dass der Benutzer nicht brauchen, um zu sehen oder die Kontrolle direkt. Dies ist besonders nützlich für die Aufrechterhaltung Staat.
Arbeite ich an einem Projekt, gerade jetzt, wo ein Benutzer erstellt mehrere Elemente dargestellt, die als Daten-Objekte in JavaScript und serialisiert, wenn an den server gesendet. Diese Daten sind ausgedrückt eine Möglichkeit, wenn angezeigt, um den Benutzer mit HTML, eine andere Möglichkeit als JavaScript, und einen Dritten Weg, wenn an den server gesendet. Ein versteckter Eingang ist die nur Weg, dies zu erreichen. (Okay, gut eigentlich nicht der einzige Weg, aber sicherlich der vernünftigste Weg).
InformationsquelleAutor der Antwort gilly3
Zum Beispiel, wenn Sie ein Formular zum Bearbeiten einer Einheit von der Sie Daten-Modell können Sie mit einem versteckten Eingang zu platzieren, die id der Entität, die Sie aktualisieren, da Sie nicht wollen, müssen Sie diesen Wert setzen Sie in das text-Eingabefeld geschrieben werden zurück an den server. das versteckte Feld wird an den server gesendet werden, als ob es waren Teil des Formulars.
InformationsquelleAutor der Antwort Cygnusx1
Wie der name schon sagt, Hidden-fields sind ähnlich zu anderen input-Felder, außer einem Unterschied ich.e, hidden-fields sind nicht wirklich dem Benutzer angezeigt und kann daher nicht vom Benutzer editiert werden.Sein Wert kann nur festgelegt werden, die zum Zeitpunkt der Ausführung also kann sein, form der Einreichung, die sendet die Daten an den server.
Aber der Datensatz über die html-Seite, D. H. name/Wert kann man in den html-Quellcode der Seite (Quelltext der Seite).
InformationsquelleAutor der Antwort Umesh Samant