webForumDet fria alternativet

Loopa igenom arrayer

JavaScript

3 svar · 461 visningar · startad av pawe

Medlem sedan sep. 200811 inlägg
Frågan#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?

Medlem sedan dec. 20025 483 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?

Medlem sedan feb. 2007278 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?

Medlem sedan mars 2003429 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

257 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)