10. november 2005 - 16:27
Der er
8 kommentarer
Dynamisk variabelnavn til form
function calcTotal() { var totalBrutto = 0; for (i=1; i<35; i++) { var ctrlname = 'pay' +i; var paypris_punktum = document.makebill.elements[ctrlname].value.replace(/,/g,"\."); totalBrutto = +totalBrutto + +paypris_punktum; } document.makebill.totalSum.value = totalBrutto; } der hvor den går galt er i: makebill.elements[ctrlname].value Jeg har også prøvet: makebill.pay+i.value og makebill.pay[i].value Intet virker, så mit spørgsmål er... hvordan henter jeg værdien af pay1, pay2, pay3 osv. ?
Annonceindlæg fra HP
10. november 2005 - 16:28
#1
Roenving, Jakob A og OleBole... hvem kommer først ? ;-)
10. november 2005 - 16:32
#2
<ole> Hvad er galt i resten af koden? Her er der vist intet at komme efter :) /mvh </bole>
10. november 2005 - 16:34
#3
Er du sikker på, elementerne ser sådan ud: <input type="text" name="pay1">
10. november 2005 - 18:49
#4
NAME="pay'.$day.'" de oprettes så i en while (PHP), som tæller op fra 1 til 34.
10. november 2005 - 18:51
#5
Og hvis jeg henter værdierne ud manuelt, med makebill.pay1.value, makebill.pay2.value osv. virker det.
10. november 2005 - 20:37
#6
Nå, jeg lader den stå til i morgen og håber, at et klogt hovede har en løsning i løbet af aftenen. ;)
10. november 2005 - 21:01
#7
Der er ikke nogen, der kommer med en løsning, før du viser resten af koden, for det er ikke i det viste, fejlen ligger :)
10. november 2005 - 21:05
#8
Test f.eks. dette: <script type="text/JavaScript"> function calcTotal() { var totalBrutto = 0; for (i=1; i<5; i++) { var ctrlname = 'pay' +i; var paypris_punktum = document.makebill.elements[ctrlname].value.replace(/,/g,"\."); totalBrutto = +totalBrutto + +paypris_punktum; } document.makebill.totalSum.value = totalBrutto; } </script> <form name="makebill"> <input type="text" name="pay1"><br> <input type="text" name="pay2"><br> <input type="text" name="pay3"><br> <input type="text" name="pay4"><hr> <input type="text" name="totalSum"><br> <button onclick="calcTotal()">TEST</button> </form>
Vi tilbyder markedets bedste kurser inden for webudvikling