hej alla forum tittare. jag hoppas verkligen att någon kan hjälpa mig med ett eländigt problem. jag har fastnat totalt. det gäller ett dynamiskt formlulär med pris och antal som skall multipliceras ihop och läggas i en summerings ruta. detta är ju en barnlek med fasta variabler, både i java och i vbscript. jag har försökt fram och tillbaka med detta i två jävla veckor.. ja ja. jag skall försöka förklara lite mer ingående vad jag vill göra. jag skulle ju hälst vilja ha det i javascript men går även bra i vbscript. Jag antar att du menar "Javascript" när du säger "Java". Som tillägg till Görans förslag kommer komplett kod som du kan utgå ifrån. Fungerar oavsett antal rader i formuläret: jaaaa, va roligt. Jag tackar så mycket för detta, jag skall genast testa. För att kunna öka läsbarheten var vänlig använd er av entertangenten. Du behöver inte använda eval. (Jag anser att den funktionen används alldeles för mycket.) Så här får du till exempel fram värdet från summa:onchange dynamisk ihopräknare
jag skall skapa en sida som har tre form typer. den första skall vara en option antal, den andra skall vara text pris, och den sista skall vara ett text summa. dessa forms skall loopas ett antal gånger, olika varje gång. när jag ändrar i option antal skall en onchange genereras och denna rad med antal skall multipliceras med antal och lägga summan i summa.
jag har provat både java och vbscript, men jag kan inte få till det i funktionen. att få fram rätt namn från form fälten när dessa är loopade.
jag skulle vara mer än tacksam för hjälp till en lösning. Sv: onchange dynamisk ihopräknare
Lägg in index för varvet i loopen i anropet till onchange, så kan du använda det för att plocka ut rätt fält.Sv:onchange dynamisk ihopräknare
<code>
<HTML>
<HEAD>
<SCRIPT>
function summera(rad) {
eval("document.forms[0].summa"+rad+".value = parseInt(document.forms[0].antal"+rad+".value) * parseInt(document.forms[0].apris"+rad+".value)")
}
</SCRIPT>
<TITLE>Untitled Document</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<FORM NAME="form1" METHOD="post" ACTION="">
Antal: Pris: Summa:<br>
<SELECT onChange=summera(1) NAME="antal1"><OPTION VALUE="0">0</OPTION><OPTION VALUE="1">1</OPTION><OPTION VALUE="2">2</OPTION><OPTION VALUE="3">3</OPTION><OPTION VALUE="4">4</OPTION><OPTION VALUE="5">5</OPTION><OPTION VALUE="6">6</OPTION><OPTION VALUE="7">7</OPTION><OPTION VALUE="8">8</OPTION><OPTION VALUE="9">9</OPTION><OPTION VALUE="10">10</OPTION></SELECT><INPUT TYPE="text" NAME="apris1" SIZE="5" MAXLENGTH="5" VALUE="10"><INPUT TYPE="text" NAME="summa1" SIZE="6" MAXLENGTH="6"><br>
<SELECT onChange=summera(2) NAME="antal2"><OPTION VALUE="0">0</OPTION><OPTION VALUE="1">1</OPTION><OPTION VALUE="2">2</OPTION><OPTION VALUE="3">3</OPTION><OPTION VALUE="4">4</OPTION><OPTION VALUE="5">5</OPTION><OPTION VALUE="6">6</OPTION><OPTION VALUE="7">7</OPTION><OPTION VALUE="8">8</OPTION><OPTION VALUE="9">9</OPTION><OPTION VALUE="10">10</OPTION></SELECT><INPUT TYPE="text" NAME="apris2" SIZE="5" MAXLENGTH="5" VALUE="25"><INPUT TYPE="text" NAME="summa2" SIZE="6" MAXLENGTH="6"><br>
<SELECT onChange=summera(3) NAME="antal3"><OPTION VALUE="0">0</OPTION><OPTION VALUE="1">1</OPTION><OPTION VALUE="2">2</OPTION><OPTION VALUE="3">3</OPTION><OPTION VALUE="4">4</OPTION><OPTION VALUE="5">5</OPTION><OPTION VALUE="6">6</OPTION><OPTION VALUE="7">7</OPTION><OPTION VALUE="8">8</OPTION><OPTION VALUE="9">9</OPTION><OPTION VALUE="10">10</OPTION></SELECT><INPUT TYPE="text" NAME="apris3" SIZE="5" MAXLENGTH="5" VALUE="50"><INPUT TYPE="text" NAME="summa3" SIZE="6" MAXLENGTH="6"><br>
<SELECT onChange=summera(4) NAME="antal4"><OPTION VALUE="0">0</OPTION><OPTION VALUE="1">1</OPTION><OPTION VALUE="2">2</OPTION><OPTION VALUE="3">3</OPTION><OPTION VALUE="4">4</OPTION><OPTION VALUE="5">5</OPTION><OPTION VALUE="6">6</OPTION><OPTION VALUE="7">7</OPTION><OPTION VALUE="8">8</OPTION><OPTION VALUE="9">9</OPTION><OPTION VALUE="10">10</OPTION></SELECT><INPUT TYPE="text" NAME="apris4" SIZE="5" MAXLENGTH="5" VALUE="75"><INPUT TYPE="text" NAME="summa4" SIZE="6" MAXLENGTH="6"><br>
<SELECT onChange=summera(5) NAME="antal5"><OPTION VALUE="0">0</OPTION><OPTION VALUE="1">1</OPTION><OPTION VALUE="2">2</OPTION><OPTION VALUE="3">3</OPTION><OPTION VALUE="4">4</OPTION><OPTION VALUE="5">5</OPTION><OPTION VALUE="6">6</OPTION><OPTION VALUE="7">7</OPTION><OPTION VALUE="8">8</OPTION><OPTION VALUE="9">9</OPTION><OPTION VALUE="10">10</OPTION></SELECT><INPUT TYPE="text" NAME="apris5" SIZE="5" MAXLENGTH="5" VALUE="80"><INPUT TYPE="text" NAME="summa5" SIZE="6" MAXLENGTH="6"><br>
</FORM>
</BODY>
</HTML>
</code>Sv: onchange dynamisk ihopräknare
jag såg direkt mitt misstag.
det var där du satt summa"+rad+" som jag gjort mina vilda försök.
super tack skall du ha
MikeSv:onchange dynamisk ihopräknare
Att sitta och försöka att läsa sådana här inlägg går bara inte.Sv:onchange dynamisk ihopräknare
document.forms[0].item('summa'+rad).value