|
| 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
| |
|
|