javascript, változó formnév hivatkozás

Fórumok

Sziasztok!

Nincs nagyon időm most kutakodni ezért teszem fel itt a kérdést a gyors válasz reményében.
Tehát a problémám a következő.
Van egy form, amihez hozzá lehet adni mezőket.
a mezőnevek: mezo1_1 és mezo2_1

javascriptből próbálom az egyikből a másikat számolni, így:


script language="javascript"
    function szamolas(){
          
         document.adatform.mezo1_1.value=document.adatform.mezo2_1.value
         
    }';
/script

Ezt kéne úgy átalakítani, hogy ne statikus legyen, csak nem tudom, hogy a 'melyik' változót hogyan kell a
document.adatform.mezo1_ .value
-hez hozzáfűzni.

Valahogy így kéne:


script language="javascript"
    function szamolas(melyik){
          
         document.adatform.mezo1_[melyik].value=document.adatform.mezo2_[melyik].value
         
    }';
/script

Köszi előre is!

Üdv: redman

Hozzászólások

Javaslom az eval függvény használatát.

document.forms[0]. ....
Ami megfelel

 <form name="0" ...> ... </form>

A te megoldásodban az a jó, hogy csak bizonyos browseren megy. Ezzel szemben ha DOM-ot használsz nagy eséllyel megy mindenhol.

blablabla...


function szamolas(num){
var elem1="mezo1_"+num;
var elem2="mezo2_"+num;
document.forms["azonosito"].elements[elem1].value=document.forms["azonosíto_akar_masik_form_is"].elements[elem2].value;
}

...valahol a kódbban meg meghívod hogy onblur=szamolas("1");

hozzáteszem, hogy a DOM-ot akkor célszerű használni, ha szépen azonosítod is a html elemeket (name vagy id) és nem csak beledobálod őket a dokumentumba.

még annyit, hogy ha tudod mondjuk az elemek nevét, akkor egyszerűsödik a kódod úgy, hogy onblur=szamolas("első_id","második_id")


function szamolas(elem1,elem2){
document.forms["formazonosító"].elements[elem1].value=document.forms["formazonosító"].elements[elem2.value;
}

ugye a fenti esetben még általánosabb a kódod, mivel sehol nincs a függvényben beégetett paraméter.
ráadásul lehetőséged van bárminek megadni egy másik mező értékét.

És hát még lehet cifrázni rendesen. :)

Ugye tudod, hogy JavaScript-nek semmi koze Java-hoz..?

_________________________________________________________________________
"ONE OF THESE DAYS I'M GOING TO CUT YOU INTO LITTLE PIECES!!!$E$%#$#%^*^"