|
| værdier fra et <SELECT MULTIPLE> input Fra : spam]@mail.dk (Bo Ra~ |
Dato : 08-08-01 11:28 |
|
Hvordan får jeg lige fat i de værdier der vælges via en
<SELECT MULTIPLY NAME="type">
??
Bo
| |
Niels Andersen (08-08-2001)
| Kommentar Fra : Niels Andersen |
Dato : 08-08-01 12:06 |
|
<bo.rattenborg[no spam]@mail.dk (Bo Rattenborg)> wrote in message
news:3b7113d0.11469366@sunsite.auc.dk...
> Hvordan får jeg lige fat i de værdier der vælges via en
> <SELECT MULTIPLY NAME="type">
Fro hver valgt værdi får php en "type=værdi", dvs. "type" blive sat flere
gange. Hver gang bliver værdien overskrevet, og det er dermed kun den sidste
der kan læses.
Det er det, der er problemet, ikke?
Der er to løsninger. Den nemme: Kald den "type[]" i stedet, så bliver det
til et array:
echo "Du har valgt disse typer:<br>\n";
foreach($type as $entype){
echo "o $entype<br>\n";
}
Alternativt kan du selv parse din querystring. Fx. ved at dele den ved hver
"&", så får du alle værdierne i par, som så bare skal smides i et array,
eller hvad du nu vil med dem.
Mvh.
Niels Andersen
| |
spam]@mail.dk (Bo Ra~ (08-08-2001)
| Kommentar Fra : spam]@mail.dk (Bo Ra~ |
Dato : 08-08-01 14:24 |
|
>Der er to løsninger. Den nemme: Kald den "type[]" i stedet, så bliver det
>til et array:
øbs - den tror jeg hopper på - enkelt - vil det virke i alle
browsere ?
Bo
| |
Niels Andersen (08-08-2001)
| Kommentar Fra : Niels Andersen |
Dato : 08-08-01 16:42 |
|
<bo.rattenborg[no spam]@mail.dk (Bo Rattenborg)> wrote in message
news:3b713ce2.9486933@sunsite.auc.dk...
> >Der er to løsninger. Den nemme: Kald den "type[]" i stedet, så bliver det
> >til et array:
>
> øbs - den tror jeg hopper på - enkelt - vil det virke i alle
> browsere ?
Alle browsere, som kan håndtere navnet "type[]" - det skulle vist være alle.
:)
Mvh.
Niels Andersen
| |
Christian Schmidt (08-08-2001)
| Kommentar Fra : Christian Schmidt |
Dato : 08-08-01 23:21 |
|
Niels Andersen wrote:
>
> > >Der er to løsninger. Den nemme: Kald den "type[]" i stedet, så bliver det
> > >til et array:
> >
> > øbs - den tror jeg hopper på - enkelt - vil det virke i alle
> > browsere ?
>
> Alle browsere, som kan håndtere navnet "type[]" - det skulle vist være alle.
> :)
Tja, jeg har nu heller ikke mødt en, der ikke kunne.
Men det er ikke gyldig HTML 4.0 eller 4.01 :-/
Christian
| |
Niels Andersen (09-08-2001)
| Kommentar Fra : Niels Andersen |
Dato : 09-08-01 07:29 |
|
"Christian Schmidt" <christian@schmidt.net> wrote in message
news:3B71BB53.F8C1BF1B@schmidt.net...
> > Alle browsere, som kan håndtere navnet "type[]" - det skulle vist være
alle.
> > :)
> Tja, jeg har nu heller ikke mødt en, der ikke kunne.
> Men det er ikke gyldig HTML 4.0 eller 4.01 :-/
Bops, det var ikke godt. Kan du evt. pege på hvor det står?
Mvh.
Niels Andersen
| |
Christian Schmidt (09-08-2001)
| Kommentar Fra : Christian Schmidt |
Dato : 09-08-01 08:25 |
|
Niels Andersen wrote:
>
> > > Alle browsere, som kan håndtere navnet "type[]" - det skulle vist
> > > være alle. :)
> > Tja, jeg har nu heller ikke mødt en, der ikke kunne.
> > Men det er ikke gyldig HTML 4.0 eller 4.01 :-/
>
> Bops, det var ikke godt. Kan du evt. pege på hvor det står?
http://www.w3.org/TR/REC-html40/types.html#h-6.2
Citat: "ID and NAME tokens must begin with a letter ([A-Za-z]) and may
be followed by any number of letters, digits ([0-9]), hyphens ("-"),
underscores ("_"), colons (":"), and periods (".")."
Strengt taget står der jo ikke, at de ikke må indeholde andre tegn end
de nævnte, men mon ikke det skal forstås sådan.
Christian
| |
Peter Brodersen (09-08-2001)
| Kommentar Fra : Peter Brodersen |
Dato : 09-08-01 08:39 |
|
On Thu, 09 Aug 2001 09:24:53 +0200, Christian Schmidt
<christian@schmidt.net> wrote:
> http://www.w3.org/TR/REC-html40/types.html#h-6.2
>
>Citat: "ID and NAME tokens must begin with a letter ([A-Za-z]) and may
>be followed by any number of letters, digits ([0-9]), hyphens ("-"),
>underscores ("_"), colons (":"), and periods (".")."
(herunder skriver jeg elementer og attributter med småt, og
SGML-basis-typer med stort)
Men:
http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.6
Som jeg ser det, er "name for select" af SGML-basis-typen CDATA, i
modsætning til at være ID, NAME, IDREF, IDREFS eller NUMBER (tabindex
er fx NUMBER, men name er altså CDATA).
"Navne-sammenfaldet" (høhø) er vilkårligt. "name" i <select
name="..."> referer altså ikke til at det er af SGML-typen "NAME"
Om CDATA er der bl.a. nævnt:
CDATA is a sequence of characters from the document character
set and may include character entities.
Om NAME er der bl.a. nævnt:
ID and NAME tokens must begin with a letter ([A-Za-z]) and may
be followed by any number of letters, digits ([0-9]), hyphens ("-"),
underscores ("_"), colons (":"), and periods (".").
Så jeg ser ikke noget problem i at have kode i stil med: <select
name="personer[]" multiple>
--
- Peter Brodersen
| |
Christian Schmidt (09-08-2001)
| Kommentar Fra : Christian Schmidt |
Dato : 09-08-01 21:56 |
|
Peter Brodersen wrote:
>
> >Citat: "ID and NAME tokens must begin with a letter ([A-Za-z]) and may
> >be followed by any number of letters, digits ([0-9]), hyphens ("-"),
> >underscores ("_"), colons (":"), and periods (".")."
>
> (herunder skriver jeg elementer og attributter med småt, og
> SGML-basis-typer med stort)
>
> Men:
> http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.6
>
> Som jeg ser det, er "name for select" af SGML-basis-typen CDATA, i
> modsætning til at være ID, NAME, IDREF, IDREFS eller NUMBER (tabindex
> er fx NUMBER, men name er altså CDATA).
>
> "Navne-sammenfaldet" (høhø) er vilkårligt. "name" i <select
> name="..."> referer altså ikke til at det er af SGML-typen "NAME"
>
> Om CDATA er der bl.a. nævnt:
> CDATA is a sequence of characters from the document character
> set and may include character entities.
>
> Om NAME er der bl.a. nævnt:
> ID and NAME tokens must begin with a letter ([A-Za-z]) and may
> be followed by any number of letters, digits ([0-9]), hyphens ("-"),
> underscores ("_"), colons (":"), and periods (".").
>
> Så jeg ser ikke noget problem i at have kode i stil med: <select
> name="personer[]" multiple>
Det har du vist ret i.
Jeg mener dog bestemt, at jeg er blevet klandret af en HTML-validator
for at have brugt [] i name-attributten. Men det må så tilskrives en
fejl i HTML-validatoren.
Jeg trækker mig ydmygt ud af diskussionen
Christian
| |
spam]@mail.dk (Bo Ra~ (10-08-2001)
| Kommentar Fra : spam]@mail.dk (Bo Ra~ |
Dato : 10-08-01 10:17 |
|
On Wed, 8 Aug 2001 17:42:06 +0200, "Niels Andersen"
<niels-usenet@myplace.dk> wrote:
><bo.rattenborg[no spam]@mail.dk (Bo Rattenborg)> wrote in message
>news:3b713ce2.9486933@sunsite.auc.dk...
>> >Der er to løsninger. Den nemme: Kald den "type[]" i stedet, så bliver det
>> >til et array:
>>
>> øbs - den tror jeg hopper på - enkelt - vil det virke i alle
>> browsere ?
>
>Alle browsere, som kan håndtere navnet "type[]" - det skulle vist være alle.
hmm ok nu er jg kommet videre via name="type[]"
men hvordan tjekkes denne nu via JavaScript ? if(form.type == false)
virker ikke, altså jeg ønsker at værdien inden den sendes til
serveren.
Bo
| |
Niels Andersen (10-08-2001)
| Kommentar Fra : Niels Andersen |
Dato : 10-08-01 13:08 |
|
<bo.rattenborg[no spam]@mail.dk (Bo Rattenborg)> wrote in message
news:3b73a5fd.8527702@sunsite.auc.dk...
> hmm ok nu er jg kommet videre via name="type[]"
>
> men hvordan tjekkes denne nu via JavaScript ? if(form.type == false)
> virker ikke, altså jeg ønsker at værdien inden den sendes til
> serveren.
Bare et skud fra hoften: Hvad med <select multiple name="type[]" id="type">
?
--
Mvh.
Niels Andersen
| |
Christian Schmidt (11-08-2001)
| Kommentar Fra : Christian Schmidt |
Dato : 11-08-01 20:54 |
|
Bo Rattenborg wrote:
>
> >Alle browsere, som kan håndtere navnet "type[]" - det skulle vist være alle.
>
> hmm ok nu er jg kommet videre via name="type[]"
>
> men hvordan tjekkes denne nu via JavaScript ? if(form.type == false)
> virker ikke, altså jeg ønsker at værdien inden den sendes til
> serveren.
Hvad er det, du forsøger at undersøge med ovenstående if-sætning?
Ud fra hukommelsen:
Selve select-elementet tilgås via form.elements['type[]']. Elementerne
ligger i arrayet form.elements['type[]'].options, og hvor vidt et enkelt
valgmulighed er valgt, kan checkes vha.
form.elements.['type[]'].options[i].selected, hvor i løber fra 0 til
form.elements.['type[]'].options.length - 1.
Christian
PS: Beklager hvis andre allerede har besvaret dette mere fyldestgørende.
Min newsserver har været offline et par dage, så den har vist endnu ikke
fået hentet alle indlæg ned.
| |
|
|