Javascript for() lus in formulier

Status
Niet open voor verdere reacties.

corgasme

Gebruiker
Lid geworden
15 aug 2006
Berichten
11
hallo,

ik heb de volgende functie in principe spreekt hij voor zich.

for(var x = 1; x <= 7;x++)
{
document.lift.tb_tt_x.value = eval(document.lift.tb_pr_x.value*document.lift.tb_aa_x.value);
}

in principe zou die dan dit moeten doen

for(var x = 1; x <= 7;x++)
{
document.lift.tb_tt_1.value = eval(document.lift.tb_pr_1.value*document.lift.tb_aa_1.value);
document.lift.tb_tt_2.value = eval(document.lift.tb_pr_2.value*document.lift.tb_aa_2.value);
document.lift.tb_tt_3.value = eval(document.lift.tb_pr_3.value*document.lift.tb_aa_3.value);
document.lift.tb_tt_4.value = eval(document.lift.tb_pr_4.value*document.lift.tb_aa_4.value);
document.lift.tb_tt_5.value = eval(document.lift.tb_pr_5.value*document.lift.tb_aa_5.value);
document.lift.tb_tt_6.value = eval(document.lift.tb_pr_6.value*document.lift.tb_aa_6.value);
document.lift.tb_tt_7.value = eval(document.lift.tb_pr_7.value*document.lift.tb_aa_7.value);
}

Alleen doet hij dit niet, weet iemand waarom niet en hoe ik het anders op zou kunnen lossen?

alvast bedankt
 
Ik heb geen verstand van een forloop in javascript, maar het lijkt mij dat je de varX=1 buiten die lus zal moeten plaatsen omdat deze anders steeds als 1 begint....
Joop
 
Als je document.lift.tb_tt_x schrijft, dan ziet javascript de 'x' als onderdeel van de naam en niet als variabele. Je kunt dus beter een array maken en daar de variabele x gebruiken om alle elementen eruit te halen.
 
Het zou dan:
PHP:
for(var x = 1; x <= 7; x++) {
 eval('document.lift.tb_tt_' + x + '.value = document.lift.tb_pr_' + x + '.value * document.lift.tb_aa_' + x + '.value');
 };
moeten zijn, eval voert de string uit als was het script. Of:
PHP:
var l = document.lift;
for(var x = 1; x <= 7; x++) {
 l['tb_tt_' + x].value = l['tb_pr_' + x].value * l['tb_aa_' + x].value;
 };
kan ook. :)


Vr.Gr. Egel.
 
Het zou dan:
PHP:
for(var x = 1; x <= 7; x++) {
 eval('document.lift.tb_tt_' + x + '.value = document.lift.tb_pr_' + x + '.value * document.lift.tb_aa_' + x + '.value');
 };
moeten zijn, eval voert de string uit als was het script. Of:
PHP:
var l = document.lift;
for(var x = 1; x <= 7; x++) {
 l['tb_tt_' + x].value = l['tb_pr_' + x].value * l['tb_aa_' + x].value;
 };
kan ook. :)


Vr.Gr. Egel.

iK heb jou onderste methode gebruikt en deze lukte. Dus mijn dank is groot :thumb:
wat mij betreft case closed :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan