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

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Hjælp til navigering i formular
Fra : Aggeboe


Dato : 13-07-04 19:07

Jeg har et par felter i en form der ser sådan her ud:

<select name="field_6[day]" class="select">
<option value=""> DD </option>
<option value="01">01</option>
<option value="02">02</option>
... flere options
</select>

<select name="field_6[month]" class="select">
<option value=""> MM </option>
<option value="01">01</option>
<option value="02">02</option>
... flere options
</select>

<input type="text" name="field_6[year]" value="" class="date">

Det fikse er så, at når jeg skal bruge værdierne fra disse felter i PHP,
så kan jeg tilgå dem med $_POST['field_6']['day'],
$_POST['field_6']['month'] og $_POST['field_6']['year']. Altså
$_POST['field_6'] er et array med både dag, måned og år.

Problemet er så, at jeg ikke umiddelbart kan checke om de er udfyldt
(før submit) med javascript.

Ovenstående kan jeg slet ikke få til at virke med javascript. Men hvis
jeg erstatter "day" med "0", "month" med "1" og "year" med "2", så kan
man følgende (min form har name attributen "new_filled_form"):

document.forms.new_filled_form.elements[29].name giver "field_6[0]" og
det er helt kanon. Så kan jeg få fat i elementets value og se om feltet
er "udfyldt".

Men da den her form genereres dynamisk, så har jeg brug for at kalde
elementet med navn fremfor via elements arrayet.

Dvs. noget i stil med:
eval("document.forms.new_filled_form.field_" + j + "[0]),
hvor j er en tæller for hvert input element i formen (her j = 6).

Om feltet hedder field_6[day] eller field[0] gør ikke det store, bare
det kan komme til at virke!

Hvordan gør man det???

/Aggeboe

 
 
Aggeboe (13-07-2004)
Kommentar
Fra : Aggeboe


Dato : 13-07-04 19:10

Aggeboe wrote:
> Om feltet hedder field_6[day] eller field[0] gør ikke det store, bare
> det kan komme til at virke!

Sorry, skulle selffølgelig have været field_6[day] eller field_6[0]!

/Aggeboe

Aggeboe (13-07-2004)
Kommentar
Fra : Aggeboe


Dato : 13-07-04 22:41

Aggeboe wrote:
> Jeg har et par felter i en form der ser sådan her ud:
>
> <select name="field_6[day]" class="select">
> <option value=""> DD </option>
> <option value="01">01</option>
> <option value="02">02</option>
> ... flere options
> </select>
>
> <select name="field_6[month]" class="select">
> <option value=""> MM </option>
> <option value="01">01</option>
> <option value="02">02</option>
> ... flere options
> </select>
>
> <input type="text" name="field_6[year]" value="" class="date">
>
> Det fikse er så, at når jeg skal bruge værdierne fra disse felter i PHP,
> så kan jeg tilgå dem med $_POST['field_6']['day'],
> $_POST['field_6']['month'] og $_POST['field_6']['year']. Altså
> $_POST['field_6'] er et array med både dag, måned og år.
>
> Problemet er så, at jeg ikke umiddelbart kan checke om de er udfyldt
> (før submit) med javascript.

Er løst!

Til andre der skulle have samme problem, så kan man navigere lidt rundt
via form.elements eller bruge document.getElementById(sId), hvis man
sætter id attributten i sin <select>

/Aggeboe

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste