/ Forside / Teknologi / Udvikling / HTML / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
HTML
#NavnPoint
molokyle 11184
Klaudi 5506
bentjuul 3377
severino 2040
smorch 1950
strarup 1525
natmaden 1396
scootergr.. 1320
e.c 1150
10  miritdk 1110
label for - multiple names
Fra : Rune Jensen


Dato : 13-06-09 14:00

Jeg sidder her med noget form-kode, som ikke nødvendigvis er et
tilgængelighedproblem (jaja, det validerer da), men udfordringen gør mig
alligevel nysgerrig:

http://webdesigngruppen.dk/datovalg.asp

Normalt vil man vel bruge label for, da det kan lette navigering for
brugere, som benytter tastatur. Men hvordan bruger man "label for", når
navnet på flere selectboxe er det samme, og dermed danner et
index/array? Det er datoernes select boxe, som har ens name.


MVH
Rune Jensen

--
Yep! ..så er der sguda halvfemser trampe-træsko-techno-trance:
http://www.youtube.com/watch?v=63-2pg6rv1g
coolfm.dk - Vi spiller nettets største hits!
100FM - Vi spiller DKs værste shit!

 
 
Bertel Lund Hansen (13-06-2009)
Kommentar
Fra : Bertel Lund Hansen


Dato : 13-06-09 14:12

Rune Jensen skrev:

> brugere, som benytter tastatur. Men hvordan bruger man "label for", når
> navnet på flere selectboxe er det samme, og dermed danner et
> index/array? Det er datoernes select boxe, som har ens name.

Du skal give dem en id og så

   label for='<id>'

--
Bertel
http://bertel.lundhansen.dk/         FIDUSO: http://fiduso.dk/

Rune Jensen (13-06-2009)
Kommentar
Fra : Rune Jensen


Dato : 13-06-09 17:05

Bertel Lund Hansen skrev:
> Rune Jensen skrev:
>
>> brugere, som benytter tastatur. Men hvordan bruger man "label for", når
>> navnet på flere selectboxe er det samme, og dermed danner et
>> index/array? Det er datoernes select boxe, som har ens name.
>
> Du skal give dem en id og så
>
>    label for='<id>'

Det er selvfølgelig rigtigt.

Men prøv at se her:
http://www.evolution-internet.com/downloads/javascript/dynamic-drop-down-boxes.htm

...er det lovligt, og brugbart, at inddelle IDer med indekseringsskilletegn?

Og virker de IDer som rigtige arrays, ligesom i name?


MVH
Rune Jensen

Bertel Lund Hansen (13-06-2009)
Kommentar
Fra : Bertel Lund Hansen


Dato : 13-06-09 17:47

Rune Jensen skrev:

> ..er det lovligt, og brugbart, at inddelle IDer med indekseringsskilletegn?

Fra validatoren:

   character "[" is not allowed in the value of attribute "id"

--
Bertel
http://bertel.lundhansen.dk/         FIDUSO: http://fiduso.dk/

Rune Jensen (13-06-2009)
Kommentar
Fra : Rune Jensen


Dato : 13-06-09 19:30

Bertel Lund Hansen skrev:
> Rune Jensen skrev:
>
>> ..er det lovligt, og brugbart, at inddelle IDer med indekseringsskilletegn?
>
> Fra validatoren:
>
>    character "[" is not allowed in the value of attribute "id"

Jeg forvekslede da vist id med name i første omgang..

Men tak for svarene, Bertel


MVH
Rune Jensen

Lasse Reichstein Nie~ (13-06-2009)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 13-06-09 17:58

Rune Jensen <runeofdenmark@gmail.com> writes:

> Bertel Lund Hansen skrev:
>> Rune Jensen skrev:
>>
>>> brugere, som benytter tastatur. Men hvordan bruger man "label for",
>>> når navnet på flere selectboxe er det samme, og dermed danner et
>>> index/array? Det er datoernes select boxe, som har ens name.
>> Du skal give dem en id og så    label for='<id>'
>
> Det er selvfølgelig rigtigt.
>
> Men prøv at se her:
> http://www.evolution-internet.com/downloads/javascript/dynamic-drop-down-boxes.htm
>
> ..er det lovligt, og brugbart, at inddelle IDer med indekseringsskilletegn?

Nej.
Id'er må ikke indeholde alle tegn, og "[" er ikke et af dem der er tilladt.

> Og virker de IDer som rigtige arrays, ligesom i name?

Nej. Det gør name="foo[2]" heller ikke i browseren. Det er server-siden
der laver det om til indgang to i et eller andet array.

Id'er bruges kun til unikt at identificere et element. De bliver heller
ikke sendt med til serveren, så du kan bruge id="select_1" i stedet for
id="select[1]".

Helt korrekt brug af label er at have den ved siden af det element den
refererer til, og bruge id'en til at lave linket, og ikke, som du gør,
at have elementet inde i labelen.
Altså:
<label for="select_1">Element1: </label>
<select id="select_1" name="element[1]">
<option ....>
...
</select>

Held og lykke med det.
/L
--
Lasse Reichstein Holst Nielsen
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Birger Sørensen (13-06-2009)
Kommentar
Fra : Birger Sørensen


Dato : 13-06-09 18:52

Lasse Reichstein Nielsen udtrykte præcist:
> Rune Jensen <runeofdenmark@gmail.com> writes:
>
>> Bertel Lund Hansen skrev:
>>> Rune Jensen skrev:
>>>
>>>> brugere, som benytter tastatur. Men hvordan bruger man "label for",
>>>> når navnet på flere selectboxe er det samme, og dermed danner et
>>>> index/array? Det er datoernes select boxe, som har ens name.
>>> Du skal give dem en id og så    label for='<id>'
>>
>> Det er selvfølgelig rigtigt.
>>
>> Men prøv at se her:
>> http://www.evolution-internet.com/downloads/javascript/dynamic-drop-down-boxes.htm
>>
>> ..er det lovligt, og brugbart, at inddelle IDer med indekseringsskilletegn?
>
> Nej.
> Id'er må ikke indeholde alle tegn, og "[" er ikke et af dem der er tilladt.
>
>> Og virker de IDer som rigtige arrays, ligesom i name?
>
> Nej. Det gør name="foo[2]" heller ikke i browseren. Det er server-siden
> der laver det om til indgang to i et eller andet array.
>
> Id'er bruges kun til unikt at identificere et element. De bliver heller
> ikke sendt med til serveren, så du kan bruge id="select_1" i stedet for
> id="select[1]".
>
> Helt korrekt brug af label er at have den ved siden af det element den
> refererer til, og bruge id'en til at lave linket, og ikke, som du gør,
> at have elementet inde i labelen.
> Altså:
> <label for="select_1">Element1: </label>
> <select id="select_1" name="element[1]">
> <option ....>
> ...
> </select>
>
> Held og lykke med det.
> /L

Det er vist ikke rigtigt.
Hvis man bruger
<label>Tekst<input></label>
bliver labellen associeret med input-linien, og man behøver ikke bruge
id.
Hvilket er lige så rigtigt som
<label for="text">Tekst</label><input id="text"...>

http://www.w3.org/TR/html401/interact/forms.html#edef-LABEL

Det kan så være sværere at formattere den første end den anden. Men det
bliver den første ikke mere forkert end den anden af

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Rune Jensen (13-06-2009)
Kommentar
Fra : Rune Jensen


Dato : 13-06-09 19:46

Birger Sørensen skrev:

> Hvis man bruger
> <label>Tekst<input></label>
> bliver labellen associeret med input-linien, og man behøver ikke bruge id.
> Hvilket er lige så rigtigt som
> <label for="text">Tekst</label><input id="text"...>

Så den del har han, scriptmakeren, altså styr på. Jeg synes bare det
virker lidt ulogisk at indhegne inputten i labellen, men selvfølgelig
kortere/nemmere i visse situationer.

Tak for svaret, Birger, jeg blev i hvert fald klogere i dag.

Jeg regner med at bruge jeres svar i forb. med noget CSS3, som det
alligevel kun er Opera, som forstår.. hvis ikke, jeg kan finde en CSS2.1
metode.


MVH
Rune Jensen

Rune Jensen (13-06-2009)
Kommentar
Fra : Rune Jensen


Dato : 13-06-09 19:34

Lasse Reichstein Nielsen skrev:
> Rune Jensen <runeofdenmark@gmail.com> writes:

>> ..er det lovligt, og brugbart, at inddelle IDer med indekseringsskilletegn?
>
> Nej.
> Id'er må ikke indeholde alle tegn, og "[" er ikke et af dem der er tilladt.

Mente jeg heller ikke. Men jeg fandt scriptet på "unobtrusive
scripting", og de foolk, der laver scripts efter de principper plejer at
have styr på koden, så dér blev jeg nok forvirret.

>> Og virker de IDer som rigtige arrays, ligesom i name?
<SNIP>
> Helt korrekt brug af label er at have den ved siden af det element den
> refererer til, og bruge id'en til at lave linket, og ikke, som du gør,
> at have elementet inde i labelen.
> Altså:
> <label for="select_1">Element1: </label>
> <select id="select_1" name="element[1]">
> <option ....>
> ...
> </select>

Det er også sådan, jeg normalt ville gøre.

Meget gode svar fra jer tre, tak for det ;)


MVH
Rune Jensen

Lasse Reichstein Nie~ (13-06-2009)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 13-06-09 23:39

=?ISO-8859-15?Q?Birger_S=F8rensen?= <sdc@bbsorensen.com> writes:

> Lasse Reichstein Nielsen udtrykte præcist:

>> Helt korrekt brug af label er at have den ved siden af det element den
>> refererer til, og bruge id'en til at lave linket, og ikke, som du gør,
>> at have elementet inde i labelen.
....
> Det er vist ikke rigtigt.
> Hvis man bruger
> <label>Tekst<input></label>
> bliver labellen associeret med input-linien, og man behøver ikke bruge
> id.
> Hvilket er lige så rigtigt som
> <label for="text">Tekst</label><input id="text"...>

Det har du ret i. Jeg blandede vist nogen ting sammen.
(Der var vist engang hvor ikke alle browsere virkede med begge metoder,
men jeg kan ikke huske detaljerne mere).

> http://www.w3.org/TR/html401/interact/forms.html#edef-LABEL

Jep, standarden er klar (ud over hvad der sker hvis man har to
input-elementer inde i samme label - men så beder man også om problemer :)

/L
--
Lasse Reichstein Holst Nielsen
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Birger Sørensen (14-06-2009)
Kommentar
Fra : Birger Sørensen


Dato : 14-06-09 00:07

Lasse Reichstein Nielsen kom med følgende:
> =?ISO-8859-15?Q?Birger_S=F8rensen?= <sdc@bbsorensen.com> writes:
>
>> Lasse Reichstein Nielsen udtrykte præcist:
>
>>> Helt korrekt brug af label er at have den ved siden af det element den
>>> refererer til, og bruge id'en til at lave linket, og ikke, som du gør,
>>> at have elementet inde i labelen.
> ...
>> Det er vist ikke rigtigt.
>> Hvis man bruger
>> <label>Tekst<input></label>
>> bliver labellen associeret med input-linien, og man behøver ikke bruge
>> id.
>> Hvilket er lige så rigtigt som
>> <label for="text">Tekst</label><input id="text"...>
>
> Det har du ret i. Jeg blandede vist nogen ting sammen.
> (Der var vist engang hvor ikke alle browsere virkede med begge metoder,
> men jeg kan ikke huske detaljerne mere).
>
>> http://www.w3.org/TR/html401/interact/forms.html#edef-LABEL
>
> Jep, standarden er klar (ud over hvad der sker hvis man har to
> input-elementer inde i samme label - men så beder man også om problemer :)
>
> /L

Jeg bruger også altid metoden med id.
CSS på <label> og <input>, og man slipper for tabeller eller andre
finurligheder, for at få tingene til at stå fornuftigt.

Vi alver alle sammen smuttere. Godt at RAM'en i PC'en er mere stabil
end den i hovedet. ^^ I hvert fald mit.
Tror man får en valideringsfejl, og ingen sammenhæng med nogen af
<input>. Har dog ikke testet. Det svarer lidt til at give 2 <input>
samme id.

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Rune Jensen (14-06-2009)
Kommentar
Fra : Rune Jensen


Dato : 14-06-09 00:25

Birger Sørensen skrev:

> Tror man får en valideringsfejl, og ingen sammenhæng med nogen af
> <input>. Har dog ikke testet. Det svarer lidt til at give 2 <input>
> samme id.

Egentlig bør browseren vel ignorere begge, da det ikke er sikkert,
hvilken man mener, og man ikke kan lave index. Især, hvis man bruger
strict. Og ja, give en valideringsfejl. Men altså ikke afprøvet ;)


MVH
Rune Jensen

Stig Johansen (14-06-2009)
Kommentar
Fra : Stig Johansen


Dato : 14-06-09 05:27

"Lasse Reichstein Nielsen" <lrn.unread@gmail.com> wrote in message
news:vdmzoj2b.fsf@gmail.com...
>
> Jep, standarden er klar (ud over hvad der sker hvis man har to
> input-elementer inde i samme label - men så beder man også om problemer :)

Klippet fra DTD'en (xhtml):
.....

Each label must not contain more than ONE field
Label elements shouldn't be nested.
.....

--
Med venlig hilsen/Best regards
Stig Johansen




Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409081
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste