webForumDet fria alternativet

Loopa igenom arrayer

3 svar · 459 visningar · startad av pawe

paweMedlem sedan sep. 200811 inlägg
#1

Tjena,

Har ett formulär med diverse fält, tex:

Namn, arbetade timmar osv.

Dessa fält loopas upp genom anställda som ligger i databasen. Skapar arrayer med svaren från formuläret som jag sedan loopar upp och sparar i databasen. Använder mig av php.

for ($i = 0; $i < sizeof($anstalld_id); $i++) {

Nu vill jag validera det här formuläret med hjälp av javascript men lyckas inte loopa upp de anställdas fält för att validera dessa.

Tex. så här kan ett fält se ut:

<input type="hidden" name="anstalld_id[]" id="anstalld_id[]" value="<?php echo $form_antalld->id;?>" />

När man klickar på submit knappen så skickar jag in till en javascriptfunktion där jag då vill ta emot dessa värden och validera. Men hur tar jag emot arrayerna?

Har försökt med något sånt här..

anstalld_array = document.form.getElementById(anstalld_id).length;
for (i=0;i<=anstalld_array.length;i++){

Någon som har några tips?

Peter SMedlem sedan dec. 20025 484 inlägg
#2

Id:n skall vara unika. Det enklaste är att loopa igenom formulärfälten och leta efter de namn du är intresserad av. Men vill du verkligen validera ett hiddenfält? Sätter du värdena på dem med JS?

itpastornMedlem sedan feb. 2007280 inlägg
#3

Utan ett kodbibliotek typ JQuery och i väntan på utbyggt stöd för CSSQuerySelectors, så får du leta med getElementsByTagName. getElementById returnerar endast ett enda värde och inte det array-liknande objektet "DOM collection" som du vill ha.

Som det är nu kommer din PHP-kod (som påtalats) skapa icke-unika ids med id="anstalld_id[]"

Så får det inte vara. Jag ser ingen funktion med detta id (?) så tag bort det helt.

Sedan undrar också jag varför du vill göra en koll på klientsidan för ett dolt fält?

DufferMedlem sedan mars 2003409 inlägg
#4

Hej,

Jag kan gissa på att [] finns i id't för att det ska bildas en array av dessa element när formuläret postas. Men för att svara på frågan så är det inget som skickas när vi fortfarande är på javascript nivå, alltså finns inte denna array av element ännu som efterfrågas.

Mvh

Genererad på 372 ms · cache AV · v20260730165559-full.f96bc7eb