View Full Version : Adding + $1 for every 1 quanitity, Javascript

03-22-2005, 01:43 AM
I am using this script to update a total cost text box at the end of my form. Here is the cost format script:


<!-- 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);
//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)

//Now, return with formatted total:

//Define function to format a value as currency:
function formatCurrency(num)
num = num.toString().replace(/\$\,/g,'');
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(1,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:

//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;


// End -->

What I am trying to figure out is when I click this box, I need it to add the value to the total amount using the part of the script above but also add +$1 (1.00) for every quantity of items. So if the value in the QTY text box is: 5 then when this box is clicked add $10 + $5.

<input type=text name="quantity" size=3 value=0 priorval=0 price="109.00" onChange="this.form.total.value=checkChoice(this);">

$10 Shipping: <input type="checkbox" name="$10_shipping" value=10.00 onclick="countChoices(this);" onChange="this.form.ship_method.value=this.name;" onpropertychange="this.form.total.value=CheckChoice(this);">

TOTAL: <input type="text" name="total" value="" size=8 readonly onFocus="this.blur();">

Any comments or suggestions are greatly apreciated.

~Isaac Lloyd~