Jump to content

problem on the select box calcualtion


wangtian

Recommended Posts

hi, I want to calculate selectbox value in a form.  for example: item price * Quantity. it's works fine if it only have one calculation in the form.

function calculate(){document.calcform.total.value =(document.calcform.Chassis.value)*(document.calcform.Quantity.value)
}

 

howerver, when when I have more than one calculation, it gives me "NaN.00" here is the 


function calculate(){
document.calcform.total.value = (document.calcform.Motherboard.value)*(document.calcform.Quantity.value)+(document.calcform.Chassis.value)*(document.calcform.Quantity1.value)
}

 

 

I also posted a picture about the result.

Anyone can help me to fix it? I appreciate it.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

here is all my code on the page:

<html>
<head>
<title>
</title>


<style type = "text/css">

.SelectClass { 
  font-size: 15px; 
} 

table {

font-size: .9em;
border: 3px groove;
padding: 0px;
background-color: #dddddd;
}

.mycss
{
font-weight:normal;font-style:italic;color:#000000;letter-spacing:1pt;word-spacing:2pt;font-size:36px;text-align:left;font-family:courier new, courier, monospace;line-height:1;
}


</style>





<script LANGUAGE="JavaScript">

function dp(price)
{
string = "" + price;
number = string.length - string.indexOf('.');
if (string.indexOf('.') == -1)
return string + '.00';
if (number == 1)
return string + '00';
if (number == 2)
return string + '0';
if (number > 3)
return string.substring(0,string.length-number+3);
return string;
}

function calculate(){
document.calcform.total.value = dp((document.calcform.Motherboard.value)*(document.calcform.Quantity.value)+(document.calcform.Chassis.value)*(document.calcform.Quantity1.value))
}

</script>


</head>

<body onload="calculate">
<div class="mycss"><center>Order List</center></div><br />

<center>
<form name="calcform"  method="post" action="test2.php">

<table border="0"  width="800">

<tr>
<td align="right" colspan="2">

<font size="6">$</font><input name="total" style="border:0px solid #000000; background-color:#E6FBF4; font-size: 25.5px;"  type="text" value="0.00" ONCHANGE="calculate()"/> 

</td></tr>


<tr>
<td><font size="+1">
Product Name</font>
</td>

<td><font size="+1">Quantity</font></td></tr>
<td colspan="2">
<?php
mysql_connect("host", "user", "pass") or die(mysql_error());

mysql_select_db("a4202648_wang") or die(mysql_error());

echo "<table  width='100%'>";


echo "<tr><td align='left' width='90%'>";

$result = mysql_query("SELECT Motherboard_Part_Number, Motherboard_Name, Motherboard_Price FROM Motherboard where Motherboard_Part_Number='MB-435ED-3'") 
or die(mysql_error());  
echo '<select id="Motherboard" class="SelectClass" name="Motherboard" ONCHANGE="calculate()">'; 
// keeps getting the next row until there are no more to get
while($row = mysql_fetch_array( $result )) {
   // Print out the contents of each row into a table
   echo '<option Name="Motherboard" value= ',$row['Motherboard_Price'],'>',$row['Motherboard_Part_Number'],'   ',$row['Motherboard_Name'],'    $',$row['Motherboard_Price'],' ','</option>'; 

} 

echo '</select>';

echo "</td>";


echo "<td align='right' width='10%'>";

$result= mysql_query("SELECT Number FROM Quantity") 
or die(mysql_error());  
echo '<select id="Quantity" class="SelectClass" name="Quantity" Value="Quantity" ONCHANGE="calculate()" >'; 

// keeps getting the next row until there are no more to get
while($row = mysql_fetch_array( $result)) {
   // Print out the contents of each row into a table

   echo '<option value=',$row['Number'],'>',$row['Number'],'</option>'; 
} 

echo '</select>';

echo "</td></tr>";

echo "<tr><td align='left' width='90%'>";

$result = mysql_query("SELECT Chassis_Part_Number, Chassis_Name, Chassis_Price FROM Chassis where Chassis_Form_Factor='ATX'") 
or die(mysql_error());  
echo '<select id="Chassis" class="SelectClass" name="Chassis" ONCHANGE="calculate()">'; 
// keeps getting the next row until there are no more to get
while($row = mysql_fetch_array( $result )) {
   // Print out the contents of each row into a table
   echo '<option Name="Chassis" value= ',$row['Chassis_Price'],'>',$row['Chassis_Part_Number'],'   ',$row['Chassis_Name'],'    $',$row['Chassis_Price'],' ','</option>'; 

} 

echo '</select>';

echo "</td>";


echo "<td align='right' width='10%'>";

$result= mysql_query("SELECT Number FROM Quantity") 
or die(mysql_error());  
echo '<select id="Quantity" class="SelectClass" name="Quantity1" Value="Quantity" ONCHANGE="calculate()" >'; 

// keeps getting the next row until there are no more to get
while($row = mysql_fetch_array( $result)) {
   // Print out the contents of each row into a table

   echo '<option value=',$row['Number'],'>',$row['Number'],'</option>'; 
} 

echo '</select>';

echo "</td></tr>";

echo "</table>";
?>
</td>
</tr>
<tr><td colspan="2"><input type="submit" /></td></tr>
</table>

</form>
</center>

</body>
</html>

 

[attachment deleted by admin]

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.