Click to See Complete Forum and Search --> : can't do math


awebb
06-17-2003, 10:44 AM
Despite searching the forum (and looking in big books) I just can't seem to get the hang of this.
I am trying to multiply the results of a selection in one box by the number selected in the next <select>.

Here's the code:

<script type="text/javascript">
<!--
function findMonth(selection, form)
{

var monthArray=new Array("January","February","March","April","May","June","July","August","September","October","November","December");
var priceArray=new Array("250","350","450");
var selectedMonthArray=selection.split(',');
if(selectedMonthArray[1]==" June" && selectedMonthArray[2]==14)
{
form.textbox.value=priceArray[2];
}
else
{
form.textbox.value=priceArray[0];
}
if(selectedMonthArray[1]==" July")
{
form.textbox.value=priceArray[1];
}
}
function doCalc(selection)
{
var startPrice=parseInt(document.form.textbox.value);
var startWeek=parseInt(document.form.weeks.option[].value);
if (startWeek(option[])==1||startWeek(option[])==2)
{
document.form.textbox.value=startPrice*startWeek;
}
}
//-->
</script>
</head>
<body>



<form id="form1" action="" onsubmit=""><p>
<select name="prices" onchange="findMonth(this.options[this.selectedIndex].value, this.form)">
<option value="" >Please Choose</option>
<option value="Sat, June, 14, 2003">Sat, June, 14, 2003</option>
<option value="Sat, June, 21, 2003">Sat, June, 21, 2003</option>
<option value="Sat, June, 29, 2003">Sat, June, 29, 2003</option>
<option value="Sat, July, 05, 2003">Sat, July, 05, 2003</option>
</select>
<select name="weeks" onchange="doCalc(this.options[this.selectedIndex].value, this.form)">
<option value="1" selected="selected">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input type="text" name="textbox"/>
</p>

</form>

Khalid Ali
06-17-2003, 11:17 AM
You just said you were trying to get multiplication done,,but what is is the problem that you can not solve..any errors..or you don't know the proper syntax..please elaborate.

Jona
06-17-2003, 11:21 AM
Your function should look something more like this:


function doCalc(selection)
{
var startPrice=parseInt(document.form.textbox.value);
var startWeek=parseInt(document.form.weeks.options[document.form.weeks.options.selectedIndex].value);
if(startWeek!=1)
{
document.form.textbox.value=startPrice*startWeek;
}
}


Jona

Khalid Ali
06-17-2003, 11:28 AM
There ware way more errors in your code..here is a fix.


<script type="text/javascript">
<!--
function findMonth(selection, form){
var monthArray=new Array("January","February","March","April","May","June","July","August","September","October","November","December");
var priceArray=new Array("250","350","450");
var selectedMonthArray=selection.split(',');
if(selectedMonthArray[1]==" June" && selectedMonthArray[2]==14){
form.textbox.value=priceArray[2];
}else{
form.textbox.value=priceArray[0];
}
if(selectedMonthArray[1]==" July"){
form.textbox.value=priceArray[1];
}
}
function doCalc(selection){
var startPrice=parseInt(document.form1.textbox.value);
var startWeek=parseInt(document.form1.weeks.options[document.form1.weeks.selectedIndex].value);
document.form1.textbox.value=startPrice*startWeek;

}
//-->
</script>
</head>
<body>
<form name="form1" action="" onsubmit=""><p>
<select name="prices" onchange="findMonth(this.options[this.selectedIndex].value, this.form)">
<option value="" >Please Choose</option>
<option value="Sat, June, 14, 2003">Sat, June, 14, 2003</option>
<option value="Sat, June, 21, 2003">Sat, June, 21, 2003</option>
<option value="Sat, June, 29, 2003">Sat, June, 29, 2003</option>
<option value="Sat, July, 05, 2003">Sat, July, 05, 2003</option>
</select>
<select name="weeks" onchange="doCalc(this.options[this.selectedIndex].value, this.form)">
<option value="1" selected="selected">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input type="text" name="textbox"/>
</p>

</form>

awebb
06-18-2003, 03:56 AM
Thanks to both of you.
Just can't get my head around the syntax.