2013-07-09 4 views
12

Ich habe eine Seite, auf der ich einen Wert für die Verarbeitung über Ajax/jQuery speichern muss. Ich bin mit einem versteckten Eingabefeld diesen Wert wie folgt zu speichern:Muss ein verstecktes Eingabefeld in einer Form sein?

<input type="hidden" name="..." id="..." value="..." /> 

ich diesen Wert durch jQuery zugreifen kann, auch wenn es nicht in einer Form (dh: es ist nur am Anfang meiner HTML-Ausgabe).

Frage: obwohl es funktioniert, ist es OK/legal, aus einer Korrektheitsperspektive zu tun, um einen versteckten Eingabewert zu haben, der nicht Teil eines Formulars ist?

+0

Ya, können Sie es außerhalb irgendeine Form verwenden können, wenn nicht xhtml mit –

+1

@roasted, wenn Sie einigen alten Browser verwenden (z IE7 ignoriert '' außerhalb von ''

). Und bevor Sie sagen, dass niemand sie mehr verwendet, beachten Sie, dass die meisten Computer der britischen Regierung IE6 enthalten und es keine Pläne für ein Upgrade gibt. –

+0

@AleksG das ist ein guter Punkt! –

Antwort

13

Sie können die ausgeblendete Eingabe außerhalb des Formulars platzieren, wenn Sie den Wert für einen Ajax-Post mit jquery abrufen. Allerdings, wenn Ihre Anwendung degradieren muss (dh ohne JavaScript arbeiten) sollten Sie die versteckte Eingabe im Formular haben, damit sie auf dem Server per Formular übermittelt wird.

2

Ja, Sie können eine gültige Eingabe ohne ein Formular haben.

5

Sie können versteckte Eingabefelder an einer beliebigen Stelle platzieren. Dasselbe gilt für alle anderen Eingabefelder (außer submit). Sie können Schaltflächen platzieren, auswählen usw., ohne sie in ein Formular einzubetten.

Beachten Sie, dass beim Übermitteln eines Formulars nur die Elemente in diesem Formular übermittelt werden.

Ich weiß nicht, was Sie mit dem Hidden-Inout machen wollen, aber wenn Sie Daten aus einem Skript usw. speichern, würde ich empfehlen, das Daten-Tag zu verwenden oder Werte mithilfe von Klassen/IDs anzugeben oder Speichern von Daten als js-Variable. Ein paar versteckte Felder zu haben ist nicht falsch, aber ich habe es immer als eine hässliche Lösung betrachtet.

Verwandte Themen