Ich sehe häufig, insbesondere in der PHP-Welt, folgendes Schreiben, wenn Sie ein FORM-Array erstellen wollen.
%Vor%mit den eckigen Klammern []. Nichtsdestoweniger übergibt die Übermittlungsoperation den gleichen Schlüsseleintrag zweimal. Es scheint, dass das [] nur konventionell ist, das sich gut dem PHP-Welt-Array anpasst, aber Sie würden das gleiche Ergebnis mit dem folgenden
erhalten %Vor%In der Tat, in Django erhalte ich eine Liste von zwei Einträgen, unabhängig vom verwendeten Stil.
Stimmt das? Sind die [] einfach konventionell oder gibt es tatsächlich eine echte Bedeutung von den HTML- und HTTP-Schlüssel / Wert-Informationen?
Sie sprechen eine Einschränkung von PHP an, die ein Array nicht automatisch erzeugt, wenn mehrere Werte mit dem gleichen Namen gesendet werden, zum Beispiel aus einer Reihe von Kontrollkästchen oder einer Mehrfachauswahl. (IIRC gibt nur den letzten Wert zurück.)
Persönlich habe ich immer gedacht, dass es eine ziemlich schäbige Workaround ist. Selbst Classic ASP konnte damit zurechtkommen, ohne dass clientseitige Erweiterungen erforderlich waren. Die serverseitige Plattform hat auf diese Weise keine geschäftlichen Markup-Anforderungen für den Client.
Es ist nur konventionell.
Das W3C gibt an :
Lassen Sie die
seinform data set
eine Liste von Name-Wert-Typ Tupeln
und für jedes Eingabeelement am submit:
Fügen Sie einen Eintrag zu
form data set
mit dem Namenname
, dem Wert des Elementsfield
als Wert undtype
als Typ hinzu.
Das W3C erwähnt nicht die Verwendung von []
oder die Eindeutigkeit des Attributs name
.