mam taką oto funkcję
<script type="text/javascript" language="JavaScript"> <!-- function suma(){ var TablicaIloscElem=5; var Suma1=0; var IloscPol=20; var tablica = [ ['6', '6', '8'], ['8', '8', '6'], ['8-', '8', '8'], ['8q', '6', '8'], ['8e', '8', '6'], ['15', '8', '6'], ]; for(i=1;i<=IloscPol;i++) { wiersz1=document.Suma1['pole'+i].value; //zabezpieczenie w przypadku pozostawienia pustego inputa if (wiersz1 == "") { wiersz1 = 0; } //jeżeli input nie jest pusty else { for ($z = 0; $z <= TablicaIloscElem; $z++) { if (tablica[$z][0] == wiersz1) { wiersz1=parseInt('0'+tablica[$z][1],10); break; } } } Suma1+=wiersz1; } document.Suma1.Suma1.value = Suma1; } //--> </script>
i takie oto pole inputów
<form action="1.html" name="Suma1"> <input type="text" size="1" onBlur="suma()" name="pole1"/> <input type="text" size="1" onBlur="suma()" name="pole2"/> <input type="text" size="1" onBlur="suma()" name="pole3"/> <input type="text" size="1" onBlur="suma()" name="pole4"/> <input type="text" size="1" onBlur="suma()" name="pole5"/> <input type="text" size="1" onBlur="suma()" name="pole6"/> <input type="text" size="1" onBlur="suma()" name="pole7"/> <input type="text" size="1" onBlur="suma()" name="pole8"/> <input type="text" size="1" onBlur="suma()" name="pole9"/> <input type="text" size="1" onBlur="suma()" name="pole10"/> <input type="text" size="1" onBlur="suma()" name="pole11"/> <input type="text" size="1" onBlur="suma()" name="pole12"/> <input type="text" size="1" onBlur="suma()" name="pole13"/> <input type="text" size="1" onBlur="suma()" name="pole14"/> <input type="text" size="1" onBlur="suma()" name="pole15"/> <input type="text" size="1" onBlur="suma()" name="pole16"/> <input type="text" size="1" onBlur="suma()" name="pole17"/> <input type="text" size="1" onBlur="suma()" name="pole18"/> <input type="text" size="1" onBlur="suma()" name="pole19"/> <input type="text" size="1" onBlur="suma()" name="pole20"/> <input disabled="disabled" type="text" size="1" name="Suma1"/> </form>
Wszystko działa, ale problem pojawia sie w momencie gdy chce stworzyc kolejne inputy Suma2, 3,4...100...150
Bezsensem jest kopiowanie tej funkcji czy dodawanie kolejnych formow do niej, na pewno da sie przeniesc jakos parametr do funkcji aby wiedziala dla ktorej Sumy ma obliczac wartosci. Problem w tym ,ze nie wiem jak to zrobic.
Moze jakies wskazowki za wszej strony?