PDA

Prikaži potpunu verziju : [Javascript] Dinamičko kreiranje imena promenjljivih


PDarko
10.6.2007, 17:23
Kako da u javascriptu napravim promenljivi, a zatim joj dodelim neku vrednost?
Primer:
document.all.id1.value=1
document.all.id2.value=2
document.all.id3.value=3
document.all.id4.value=4
document.all.id5.value=5

Da li je moguće ovaj kod ubaciti u for petlju (da se menja id1-id5) i, ako jeste, kako?

holodoc
10.6.2007, 18:43
Nikakav problem :) Samo treba voditi računa o par sitnica. Evo koda pa malo diskusije na temu :)
<script language="javascript" type="text/javascript">
for(brojac = 1; brojac <= 5; brojac++){
document.getElementById("id" + brojac.toString()).value = brojac;
}
</script>Primetićeš da u ovom mom kodu ne postoji onaj deo "all" i iskreno rečeno postoji razlog zbog toga. Naime, pretpostavljam da je "all" naziv za formu koja sadrži određene elemente sa id-evima "id1", "id2" itd. E sad. Ništa nije pogrešno ako iskoristiš "all" za ime svoje forme pa nastaviš da navodiš puna imena (čak možeš da koristiš i oblik "forms[]") ali je mnogo elegantniji način da koristiš getElementById metodu. Dakle, svakom elementu dodeliš id deskriptor i koristiš kod naveden gore.

Osnovna caka zbog koje kod radi je taj da je ispoštovano da argument unutar zagrada za getElementById bude string. E sad da bi dobio stringove tipa "id1", "id2" itd. moraš da kombinuješ string "id" i da na njega "dodaš" takođe string koji se dobija kada broj pretvoriš u string metodom toString. toString je metoda što znači da mora da se navodi tako što se na promenjljivu doda tačka i "toString".

I to je to.

PDarko
10.6.2007, 20:32
Hvala na odgovoru. Inače, all nije ime forme već niz koji sadrži sve elemente dokumenta.
Hvala još jednom.