|
| Multiple selects i forms Fra : Jeppe Vesterbæk |
Dato : 03-07-03 16:49 |
|
Hej ...
Er ved at lege lidt med en ny php-side her i regnvejeret og er løbet ind i
et mindre spørgsmål. Jeg benytter xhtml 1.0 strict. Her er angivet, at man
skal bruge id-attributten til at angive navn på elementer, men at man
samtidig også skal bruge "name", da ikke alle browsere forstår "id", dvs. et
typisk input-felt kunne se ud som:
<input type="text" name="navn" id="navn">
Id-attributten må ikke indeholde [ eller ], hvilket giver problemer, når man
fra et felt i en form skal overføre flere værdier, som f.eks:
<select multiple="multiple" name="name[]" id="name[]">
<option value="nr1">Nr1</option>
<option value="nr2">N2</option>
<option value="nr3">N3</option>
</select>
Dette er ikke tilladt, hvis xhtml 1.0 strict skal overholdes (hvilket jeg
gerne vil). Hvis jeg så sætter id="name" og beholde name="name[]" er
standarden sjovt nok overholdt og jeg får det ønskede information medsendt.
SPØRGSMÅL (så kom de endelig, hva? (-: ):
1. Er der andre måder en at benytte name="name[]" (en array-attribut) til at
sende multiple værdier fra et form-felt via php?
2. Er det _altid_ name-attributten, der kommer til at stå i $_POST når data
er sendt, eller er dette browser-afhængigt?
/Jeppe
| |
Peter Brodersen (03-07-2003)
| Kommentar Fra : Peter Brodersen |
Dato : 03-07-03 18:27 |
|
On Thu, 3 Jul 2003 17:48:52 +0200, "Jeppe Vesterbæk"
<jhve02@FJERNcontrol.auc.dk> wrote:
>Her er angivet, at man
>skal bruge id-attributten til at angive navn på elementer, [..]
Det er dog ikke et krav, at alle elementer skal være navngivet på den
måde. Men det vil være hensigtsmæssigt, hvis du fx skal referere til
en form eller lignende vha. javascript. Det er langt lettere at
referere til ting ud fra en unik id, i stedet for at referere til
"form nr. 2, felt nr. 3".
>1. Er der andre måder en at benytte name="name[]" (en array-attribut) til at
>sende multiple værdier fra et form-felt via php?
Du kan manuelt tjekke querystring'en og opdele på først &, så =. Men
det kan let være noget fedtværk.
>2. Er det _altid_ name-attributten, der kommer til at stå i $_POST når data
>er sendt, eller er dette browser-afhængigt?
Ja, altid. id har ikke noget direkte med form-behandlingen at gøre.
... og name="name[]" er, som du selv er inde på, fuldt gyldig, i
modsætning til hvad folk måtte påstå :)
--
- Peter Brodersen
| |
Jeppe Vesterbæk (03-07-2003)
| Kommentar Fra : Jeppe Vesterbæk |
Dato : 03-07-03 18:30 |
|
> Ja, altid. id har ikke noget direkte med form-behandlingen at gøre.
>
> .. og name="name[]" er, som du selv er inde på, fuldt gyldig, i
> modsætning til hvad folk måtte påstå :)
Ok, mange tak for svaret ... så vil jeg blot fortsætte som påbegyndt :)
/Jeppe
| |
|
|