Autor | Zpráva | ||
---|---|---|---|
JACK Profil * |
Dobrý den. Prosím Vás potřebuji poradit.
Mám mnoho takovýchto textových polí <INPUT TYPE=TEXT NAME="SENDACT01OLD01" VALUE="8">. Jejich jména jsou SENDACT01OLD01, SENDACT01OLD02, ... až ... SENDACT06OLD05. Zjišťuji jejich hodnoty tímto způsobem: var C11 = document.realtime.SENDACT01OLD01.value; až C65 = document.realtime.SENDACT06OLD05.value; Chtěl bych udělat for cyklus, který ty hodnoty zjistí. Nějak takto: var i; var j; var x; var y; for (i = 1; i < 6; i++) {x++; for (j = 1; j < 5; j++) {y++; C[i][i] = document.realtime.SENDACT0[x]OLD0[y].value; }} Ale dělám něco špatně. Prosím Vás můžete mi poradit. Děkuji moc za radu. |
||
Radek9 Profil |
#2 · Zasláno: 25. 10. 2011, 12:51:56 · Upravil/a: Radek9
JACK:
Pokud potřebuješ pracovat takhle jen s kusy indexu, musíš ho dát celý do hranatých závorek: var C = []; for(var i=1;i<=6;i++){ C[i] = []; for(var j=1;j<=5;j++){ C[i][j] = document.realtime["SENDACT0"+i+"OLD0"+j].value; } } |
||
JACK Profil * |
#3 · Zasláno: 25. 10. 2011, 12:56:48
Děkuji moc. :)
|
||
Radek9 Profil |
#4 · Zasláno: 25. 10. 2011, 13:03:42 · Upravil/a: Radek9
JACK:
Jinak, proč to máš tak složitě? Inputy mohou být také řazeny do polí: <input type="test" name="C[1][1]" value="8"> <input type="test" name="C[1][2]" value="9"> |
||
Tori Profil |
#5 · Zasláno: 25. 10. 2011, 13:31:24
Radek9:
„s JS si to až zas tolik nerozumí“ Tohle? (viz FAQ) C[i][j] = document.realtime["C["+i+"]["+j+"]"].value; |
||
Radek9 Profil |
#6 · Zasláno: 25. 10. 2011, 15:09:22
Tori:
Jo, říkám, že si to až tolik nerozumí. Například v PHP při odeslání dostaneš v $_POST rovnou pole. V JS to musíš zapisovat takhle, takže to vlastně vyjde nastejno jako to ["SENDACT0"+i+"OLD0"+j] .
|
||
Chamurappi Profil |
#7 · Zasláno: 25. 10. 2011, 15:40:59
Reaguji na Radka9:
„Například v PHP při odeslání dostaneš v $_POST rovnou pole.“ Jiné serverové jazyky vyrábějí automaticky (jednorozměrné) pole z prvků se stejnými name — a totéž se děje v DOMu. Kdybys měl pět <input name="C"> , tak budou v document.realtime.C[0] až document.realtime.C[4] .
|
||
Radek9 Profil |
#8 · Zasláno: 26. 10. 2011, 14:29:59
Chamurappi:
Aha, tak tohle je pro mě novinka. Dalo by se to ale nějak logicky použít dvojrozměrně? |
||
Časová prodleva: 14 let
|
0