Eckige Klammern in HTML-Form-Arrays. Einfach konventionell oder mit einer Bedeutung?

8

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?

    
Stefano Borini 06.11.2009, 16:14
quelle

2 Antworten

10

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.

    
NickFitz 06.11.2009, 16:20
quelle
1

Es ist nur konventionell.

Das W3C gibt an :

  

Lassen Sie die form data set eine Liste von Name-Wert-Typ Tupeln

sein

und für jedes Eingabeelement am submit:

  

Fügen Sie einen Eintrag zu form data set mit dem Namen name , dem Wert des Elements field als Wert und type als Typ hinzu.

Das W3C erwähnt nicht die Verwendung von [] oder die Eindeutigkeit des Attributs name .

    
jomo 31.03.2015 15:08
quelle

Tags und Links