Toon posts:

javascript probleem!!

Pagina: 1
Acties:
  • 45 views sinds 30-01-2008

Verwijderd

Topicstarter
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>

Verwijderd

1: Javascript is voor de buren
2: Zo'n "Stukje" tekst gaan ze bij de buren echt niet ff voor je debuggen hoor...

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 10:25

.oisyn

Moderator Devschuur®

Demotivational Speaker

Hoi, welkom op GoT :)
Lees ook even de verplichte kost, namelijk De P&W FAQ en De "quickstart"
Daarin staan algemene richtlijnen over het posten in P&W. De Algemene GoT FAQ is natuurlijk ook belangrijk

En als je dat allemaal hebt doorgelezen dan kom je tot dezelfde conclusie als slindenau hierboven me ;)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Dit topic is gesloten.