ik heb een javasriptje om een aantal keuzes te maken en dan moet er een prijsje uitrollen!!
maar nu heb ik een option menu en tekt hij elke keer dat je van option verander de prijzen bij elkaar op!!
hoe moet ik dit veranderen??
dit is dat stukje script:
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function CheckChoice(whichbox)
{
with (whichbox.form)
{
//Handle differently, depending on type of input box.
if (whichbox.type == "radio")
{
//First, back out the prior radio selection's price from the total:
hiddentotal.value = eval(hiddentotal.value) - eval(hiddenpriorradio.value);
//Then, save the current radio selection's price:
hiddenpriorradio.value = eval(whichbox.price);
//Now, apply the current radio selection's price to the total:
hiddentotal.value = eval(hiddentotal.value) + eval(whichbox.price);
}
else
{
//If box was checked, accumulate the checkbox value as the form total,
//Otherwise, reduce the form total by the checkbox value:
if (whichbox.checked == false)
{ hiddentotal.value = eval(hiddentotal.value) - eval(whichbox.value); }
else { hiddentotal.value = eval(hiddentotal.value) + eval(whichbox.value); }
}
//Ensure the total never goes negative (some browsers allow radiobutton to be deselected):
if (hiddentotal.value < 0)
{
InitForm();
}
//Now, return with formatted total:
return(formatCurrency(hiddentotal.value));
}
}
//Define function to format a value as currency:
function formatCurrency(num)
{
num = num.toString().replace(/\€|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '€' + num + '.' + cents);
}
//Define function to init the form on reload:
function InitForm()
{
//Reset the displayed total on form:
document.myform.total.value='€0';
document.myform.hiddentotal.value=0;
document.myform.hiddenpriorradio.value=0;
document.myform2.total.value='€0';
document.myform2.hiddentotal.value=0;
document.myform2.hiddenpriorradio.value=0;
document.myform2.hiddenpriorradio.value=0;
//Set all checkboxes and radio buttons on form-1 to unchecked:
for (xx=0; xx < document.myform.elements.length; xx++)
{
if (document.myform.elements[xx].type == 'checkbox' | document.myform.elements[xx].type == 'radio')
{
document.myform.elements[xx].checked = false;
}
}
//Set all checkboxes and radio buttons on form-2 to unchecked:
for (xx=0; xx < document.myform2.elements.length; xx++)
{
if (document.myform2.elements[xx].type == 'checkbox' | document.myform2.elements[xx].type == 'radio')
{
document.myform2.elements[xx].checked = false;
}
}
}
// End -->
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</head>
<form method="POST" name="myform">
<p>
<select name="webspace" size="1" onChange="this.form.total.value=CheckChoice(this);" >
<option value="0.00">Webruimte</option>
<option value="10.00">50 MB</option>
<option value="15.50">250 MB</option>
<option value="18.50">300 MB</option>
<option value="20,75">350 MB</option>
<option value="23,00">400 MB</option>
<option value="25,50">450 MB</option>
<option value="28,25">500 MB</option>
<option value="33,00">600 MB</option>
<option value="38,50">700 MB</option>
<option value="44,75">800 MB</option>
<option value="50,00">900 MB</option>
<option value="55,75">1000 MB</option>
<option value="64,75">1250 MB</option>
<option value="74,00">1500 MB</option>
<option value="90,00">2000 MB</option>
<option value="107.50">2500 MB</option>
</select>
</p>
<p><font face=Arial size=2>Steak $15.25
<input type="checkbox" name="Steak" value=15.25 onclick="this.form.total.value=CheckChoice(this);">
Chicken $12.39
<input type="checkbox" name="Chicken" value=12.39 onclick="this.form.total.value=CheckChoice(this);">
Sushi $18.75
<input type="checkbox" name="Sushi" value=18.75 onclick="this.form.total.value=CheckChoice(this);">
<br>
<br>
None, thanks
<input type="radio" name="Sauce" value=none price=0.00
onclick="this.form.total.value=CheckChoice(this);">
Duck Sauce $10.99
<input type="radio" name="Sauce" value=duck price=10.99
onclick="this.form.total.value=CheckChoice(this);">
Ginger Sauce $5.00
<input type="radio" name="Sauce" value=ginger price=5.00
onclick="this.form.total.value=CheckChoice(this);">
Hot Sauce $1.50
<input type="radio" name="Sauce" value=hot price=1.50
onclick="this.form.total.value=CheckChoice(this);">
<br>
<br>
<br>
<input type="hidden" name="hiddentotal" value=0>
<input type="hidden" name="hiddenpriorradio" value=0>
<font size=+1> <font size="3">De totale prijs voor het door u samengestelde
pakket is:</font>
<input type="text" name="total" readonly onFocus="this.blur();">
</font> <br>
<br>
</font> </p>
</form>
maar nu heb ik een option menu en tekt hij elke keer dat je van option verander de prijzen bij elkaar op!!
hoe moet ik dit veranderen??
dit is dat stukje script:
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function CheckChoice(whichbox)
{
with (whichbox.form)
{
//Handle differently, depending on type of input box.
if (whichbox.type == "radio")
{
//First, back out the prior radio selection's price from the total:
hiddentotal.value = eval(hiddentotal.value) - eval(hiddenpriorradio.value);
//Then, save the current radio selection's price:
hiddenpriorradio.value = eval(whichbox.price);
//Now, apply the current radio selection's price to the total:
hiddentotal.value = eval(hiddentotal.value) + eval(whichbox.price);
}
else
{
//If box was checked, accumulate the checkbox value as the form total,
//Otherwise, reduce the form total by the checkbox value:
if (whichbox.checked == false)
{ hiddentotal.value = eval(hiddentotal.value) - eval(whichbox.value); }
else { hiddentotal.value = eval(hiddentotal.value) + eval(whichbox.value); }
}
//Ensure the total never goes negative (some browsers allow radiobutton to be deselected):
if (hiddentotal.value < 0)
{
InitForm();
}
//Now, return with formatted total:
return(formatCurrency(hiddentotal.value));
}
}
//Define function to format a value as currency:
function formatCurrency(num)
{
num = num.toString().replace(/\€|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '€' + num + '.' + cents);
}
//Define function to init the form on reload:
function InitForm()
{
//Reset the displayed total on form:
document.myform.total.value='€0';
document.myform.hiddentotal.value=0;
document.myform.hiddenpriorradio.value=0;
document.myform2.total.value='€0';
document.myform2.hiddentotal.value=0;
document.myform2.hiddenpriorradio.value=0;
document.myform2.hiddenpriorradio.value=0;
//Set all checkboxes and radio buttons on form-1 to unchecked:
for (xx=0; xx < document.myform.elements.length; xx++)
{
if (document.myform.elements[xx].type == 'checkbox' | document.myform.elements[xx].type == 'radio')
{
document.myform.elements[xx].checked = false;
}
}
//Set all checkboxes and radio buttons on form-2 to unchecked:
for (xx=0; xx < document.myform2.elements.length; xx++)
{
if (document.myform2.elements[xx].type == 'checkbox' | document.myform2.elements[xx].type == 'radio')
{
document.myform2.elements[xx].checked = false;
}
}
}
// End -->
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</head>
<form method="POST" name="myform">
<p>
<select name="webspace" size="1" onChange="this.form.total.value=CheckChoice(this);" >
<option value="0.00">Webruimte</option>
<option value="10.00">50 MB</option>
<option value="15.50">250 MB</option>
<option value="18.50">300 MB</option>
<option value="20,75">350 MB</option>
<option value="23,00">400 MB</option>
<option value="25,50">450 MB</option>
<option value="28,25">500 MB</option>
<option value="33,00">600 MB</option>
<option value="38,50">700 MB</option>
<option value="44,75">800 MB</option>
<option value="50,00">900 MB</option>
<option value="55,75">1000 MB</option>
<option value="64,75">1250 MB</option>
<option value="74,00">1500 MB</option>
<option value="90,00">2000 MB</option>
<option value="107.50">2500 MB</option>
</select>
</p>
<p><font face=Arial size=2>Steak $15.25
<input type="checkbox" name="Steak" value=15.25 onclick="this.form.total.value=CheckChoice(this);">
Chicken $12.39
<input type="checkbox" name="Chicken" value=12.39 onclick="this.form.total.value=CheckChoice(this);">
Sushi $18.75
<input type="checkbox" name="Sushi" value=18.75 onclick="this.form.total.value=CheckChoice(this);">
<br>
<br>
None, thanks
<input type="radio" name="Sauce" value=none price=0.00
onclick="this.form.total.value=CheckChoice(this);">
Duck Sauce $10.99
<input type="radio" name="Sauce" value=duck price=10.99
onclick="this.form.total.value=CheckChoice(this);">
Ginger Sauce $5.00
<input type="radio" name="Sauce" value=ginger price=5.00
onclick="this.form.total.value=CheckChoice(this);">
Hot Sauce $1.50
<input type="radio" name="Sauce" value=hot price=1.50
onclick="this.form.total.value=CheckChoice(this);">
<br>
<br>
<br>
<input type="hidden" name="hiddentotal" value=0>
<input type="hidden" name="hiddenpriorradio" value=0>
<font size=+1> <font size="3">De totale prijs voor het door u samengestelde
pakket is:</font>
<input type="text" name="total" readonly onFocus="this.blur();">
</font> <br>
<br>
</font> </p>
</form>