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
- 1812 megtekintés
Hozzászólások
Javaslom az eval függvény használatát.
- A hozzászóláshoz be kell jelentkezni
function szamol(melyik){
eval("document.adatform.mezo1_"+melyik+".value")=eval("document.adatform.mezo2_"+melyik+".value")
}
Ez így sajnos nem megy.
- A hozzászóláshoz be kell jelentkezni
Akkor már inkább:
function szamol(melyik){
eval("document.adatform.mezo1_"+melyik+".value=document.adatform.mezo2_"+melyik+".value;")
}
szerintem (azaz egy szövegbe az egész utasítás).
- A hozzászóláshoz be kell jelentkezni
document.forms[0]. ....
Ami megfelel
<form name="0" ...> ... </form>
- A hozzászóláshoz be kell jelentkezni
Ezt nézegesd: http://developer.mozilla.org/en/docs/DOM:form.elements
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
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. :)
- A hozzászóláshoz be kell jelentkezni
Ugye tudod, hogy JavaScript-nek semmi koze Java-hoz..?
_________________________________________________________________________
"ONE OF THESE DAYS I'M GOING TO CUT YOU INTO LITTLE PIECES!!!$E$%#$#%^*^"
- A hozzászóláshoz be kell jelentkezni