15. november 2003 - 18:16
Der er
4 kommentarer og
1 løsning
Tilføj bregn sum udfra pris x antal i min formular med javascript
Jeg har en formular hvor manb vælger hvilken vare man skal have i en liste. derefter bliver varenr. og pris automatisk udfyldt, med den data der passer til den valgte vare. Til sidst bliver priserne for de valgte varer summeret i et total-felt nederst på siden.
Koden til siden er vist neden for!
Det jeg mangler er, at man skal kunne indtaste et antal af den valgte vare. Det ville være godt hvis prisen ud for varen blev ganget med med antallet hvis det kan lade sig gøre, men det er ikke nødvendigt. Men total-feltet nederst på siden skal selvfølgelig beregne den totale pris. Altså skal hver varepris ganges med antalet før de læges sammen.
Håber nogle kan hjælpe
15. november 2003 - 18:19
#1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Automatisk udfyld tekstfelter i formular</title>
<script language="JavaScript" type="text/javascript">
function kommaTal(tal1,tal2){
tal1=parseFloat(tal1.replace(/\,/gi,"."));
tal2=parseFloat(tal2.replace(/\,/gi,"."));
tal1=(isNaN(tal1))?0:tal1;
tal2=(isNaN(tal2))?0:tal2;
tal=String(tal1+tal2);
tal=((tal.indexOf(".")==-1)?tal+",00":tal);
tal=((tal.indexOf(".")==tal.length-2)?tal+"0":tal);
tal=tal.replace(/\./gi,",");
return (tal);
}
function writeNumbers(sel,frm,nm){
frm.elements['hvad'+nm].value=sel.text;
sel=sel.value.split("/");
frm.elements['pris'+nm].value=sel[0];
frm.elements['nr'+nm].value=sel[1];
var sum = "0,00";
for(i=0;frm.elements.length>i;i++){
if(frm.elements[i].name.indexOf('pris')==0)sum = kommaTal(sum,frm.elements[i].value);
}
frm.sum.value=sum;
return;
}
</script>
</head>
<body>
<form name="form1" method="post" action="">
Liste<select name="liste1" onChange="writeNumbers(this.options[this.selectedIndex],this.form,this.name.substring(5));">
<option value="/" selected></option>
<option value="50,25/b-264">rensevæske</option>
<option value="218/w33-9">anden væske</option>
</select>
<br>
Vare<input type="text" name="hvad1">
<br>
Pris:<input type="text" name="pris1">
<br>
Varenr.<input type="text" name="nr1">
<br>
Liste
<select name="liste2" onChange="writeNumbers(this.options[this.selectedIndex],this.form,this.name.substring(5));">
<option value="/" selected></option>
<option value="50,25/b-264">rensevæske</option>
<option value="218/w33-9">anden væske</option>
</select>
<br>
Vare<input type="text" name="hvad2">
<br>
Pris:<input type="text" name="pris2">
<br>
Varenr.<input type="text" name="nr2">
<br>
Liste<select name="liste3" onChange="writeNumbers(this.options[this.selectedIndex],this.form,this.name.substring(5));">
<option value="/" selected></option>
<option value="50,25/b-264">rensevæske</option>
<option value="218/w33-9">anden væske</option>
</select>
<br>
Vare<input type="text" name="hvad3">
<br>
Pris:<input type="text" name="pris3">
<br>
Varenr.<input type="text" name="nr3">
<br>
Liste
<select name="liste4" onChange="writeNumbers(this.options[this.selectedIndex],this.form,this.name.substring(5));">
<option value="/" selected></option>
<option value="50,25/b-264">rensevæske</option>
<option value="218/w33-9">anden væske</option>
</select>
<br>
Vare<input type="text" name="hvad4">
<br>
Pris:<input type="text" name="pris4">
<br>
Varenr.<input type="text" name="nr4">
<br>
<br>
Sum:<input type="text" name="sum">
</form>
</body>
</html>