Javascript not working in IE but works in Firefox chrome

Posted by user1290528 on Super User See other posts from Super User or by user1290528
Published on 2012-03-24T22:27:28Z Indexed on 2012/03/24 23:32 UTC
Read the original article Hit count: 193

Filed under:

So i have the following php page with a java script that gets the total of items based on their quatity, then inputs the total into a text box for each item. In ie the text boxes are being filled with $NaN. While in firefox, chrome the text boxes are filled with the correct values. Any help would be graatly appreciated.

<?php
    echo $_SESSION['SESS_MEMBER_ID'];
    require_once('auth.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
    <title>Breakfast Menu</title>
    <link href="loginmodule.css" rel="stylesheet" type="text/css">
    <script type='text/javascript'>
var totalarray=new Array();
var totalarray2= new Array();
var runningtotal = 0;
var runningtotal2 = 0;
var discount = .2;
var discounttotal = 0;
var discount1 = 0;

runningtotal = runningtotal * 1;
runningtotal2 = runningtotal2 * 1;
    function displayResult(price,init)
    {
    var newstring = "quantity"+init;
    var totstring = "total"+init;
    var quantity = document.getElementById(newstring).value;
    var quantity = parseFloat(quantity);
    var test = price * quantity;
    var test = test.toFixed(2);
    document.getElementById(newstring).value = quantity;
    document.getElementById(totstring).value = "$" + test;
    totalarray[init] = test;
    getTotal();
    }
    function getTotal(){
    runningtotal = 0;
    var i=0;
    for (i=0;i<totalarray.length;i++){
        totalarray[i] = totalarray[i] *1;
        runningtotal =  runningtotal + totalarray[i];
        discounttotal = totalarray[i] * discount;
        discounttotal = totalarray[i] - discounttotal;

This line is where IE shows its first error

document.getElementById('totalcost').value="$" + runningtotal.toFixed(2); 

    }
    var orderpart1 = document.getElementById('totalcost').value;
var orderpart1 = orderpart1.substr(1);
var orderpart1 = orderpart1 * 1;
var orderpart2 = document.getElementById('totalcost2').value;
var orderpart2 = orderpart2.substr(1);
var orderpart2 = orderpart2 * 1;
var ordertot = orderpart1 + orderpart2;
document.getElementById('ordertotal').value ="$"+ ordertot.toFixed(2)   
}
function displayResult2(price2,init2)
{
var newstring2 = "quantity2"+init2;
var totstring2 = "total2"+init2;
var quantity2 = document.getElementById(newstring2).value;
var quantity2 = parseFloat(quantity2);
var test2 = price2 * quantity2;
var test2 = test2.toFixed(2);
document.getElementById(newstring2).value = quantity2;
document.getElementById(totstring2).value = "$" + test2;
totalarray2[init2] = test2;
getTotal2();

}
function getTotal2(){
runningtotal2 = 0;
var i=0;
for (i=0;i<totalarray2.length;i++){
    totalarray2[i] = totalarray2[i] *1;
    runningtotal2 =  runningtotal2+ totalarray2[i];

This is where IE shows its second error

document.getElementById('totalcost2').value="$" + runningtotal2.toFixed(2);
        }//IE Shows Second error here
        var orderpart1 = document.getElementById('totalcost').value;
    var orderpart1 = orderpart1.substr(1);
    var orderpart1 = orderpart1 * 1;
    var orderpart2 = document.getElementById('totalcost2').value;
    var orderpart2 = orderpart2.substr(1);
    var orderpart2 = orderpart2 * 1;
    var ordertot = orderpart1 + orderpart2;
    document.getElementById('ordertotal').value ="$"+ ordertot.toFixed(2);
    }
    </script>
  </head>
  <body>
 <?php
 include("newnew.php");
 ?>
            <td style="vertical-align: top; width: 80%; height:80%;"><br>
              <div style="text-align: center;">
      <form action="testplaceorder.php" method="post" onSubmit="return confirm('Are you sure?');">
<h4>Employee Breakfast Order Form</h4>
<h1 align="left">Breakfest Foods</h1>
<table border='0' cellpadding='0' cellspacing='0'>
<tr>
    <td>
        <table width="100%" border="1">
        <tr>
            <th>Item&nbsp&nbsp&nbsp&nbsp&nbsp</th>
            <th>Price&nbsp&nbsp&nbsp&nbsp&nbsp   </th>
            <th>Quantity&nbsp&nbsp&nbsp&nbsp&nbsp</th>
            <th>Total&nbsp&nbsp&nbsp&nbsp&nbsp</th>
       </tr>
<?php
    mysql_connect("localhost", "seniorproject", "farmingdale123") or die(mysql_error());
    mysql_select_db("fsenior") or die(mysql_error());
    $result = mysql_query("SELECT name, price,foodid FROM Food where foodtype='br'") or die(mysql_error());  
    $init = 0;
    while(list($name, $price, $brId) = mysql_fetch_row($result)) { 
    echo 
        "<tr>
            <td>$name</td>
            <td>\$$price</td>
            <td><select name='quantity$init' id='quantity$init' onchange='displayResult($price,$init)'><option>0</option><option>1</option><option>2</option><option>3</option><option>4</option><option>5</option><option>6</option><option>7</option><option>8</option><option>9</option></td>
            <td><input name='total$init' type='text' id='total$init' readonly='readonly' value='\$0.00'></td>       
        </tr>" ;

    echo "<script type='text/javascript'>displayResult($price,$init);</script>";
    $foodname = "'SESS_FOODNAME_" . $init . "'";
    $foodid = "'SESS_FOODID_" . $init."'";
    $_SESSION[$foodname] = $name;
    $_SESSION[$foodid] = $brId;
    $init = $init+1;
    }
    $_SESSION['SESS_INIT'] = $init;

?>

        <tr>
            <td></td>
            <td></td>
            <td>Total Cost</td>
            <td><input name='totalcost' type='text' id='totalcost' readonly='readonly' value='$0.00'></td>
        </tr>
        <tr><td></td><td></td><td>Discount</td><td><input name='discountvalue1' id ='discountvalue1' type='text' readonly='readonly' value='20%'></td> </tr>
        <tr><td></td><td></td><td>Total After Discount</td><td><input name='discounttotal1' id ='discounttotal1' type='text' readonly='readonly' value='$0.00'></td></tr>
        </table>
<tr>
<td><br></td>
</tr>
</table>
<h1 align="left">Breakfest Drinks</h1>
<table border='0' cellpadding='0' cellspacing='0'>
<tr>
    <td>
        <table width="100%" border="1">
        <tr>
            <th>Item&nbsp&nbsp&nbsp&nbsp&nbsp</th>
            <th>Price&nbsp&nbsp&nbsp&nbsp&nbsp   </th>
            <th>Quantity&nbsp&nbsp&nbsp&nbsp&nbsp</th>
            <th>Total&nbsp&nbsp&nbsp&nbsp&nbsp</th>
       </tr>
<?php
    mysql_connect("localhost", "****", "***") or die(mysql_error());
    mysql_select_db("fsenior") or die(mysql_error());
    $result2 = mysql_query("SELECT drinkname, price,drinkid FROM Drinks where drinktype='br'") or die(mysql_error());  
    $init2 = 0;
    while(list($name2, $price2, $brId2) = mysql_fetch_row($result2)) { 
    echo 
        "<tr>
            <td>$name2</td>
            <td>\$$price2</td>
            <td><select name='quantity2$init2' id='quantity2$init2' onchange='displayResult2($price2,$init2)'><option>0</option><option>1</option><option>2</option><option>3</option><option>4</option><option>5</option><option>6</option><option>7</option><option>8</option><option>9</option></td>
            <td><input name='total2$init2' type='text' id='total2$init2' readonly='readonly' value='\$0.00'></td>       
        </tr>" ;

    echo "<script type='text/javascript'>displayResult2($price2,$init2);</script>";
    $drinkname = "'SESS_DRINKNAME_" . $init2 . "'";
    $drinkid = "'SESS_DRINKID_" . $init2."'";
    $_SESSION[$drinkname] = $name2;
    $_SESSION[$drinkid] = $brId2;
    $init2 = $init2+1;
    }
    $_SESSION['SESS_INIT2'] = $init2;

?>

        <tr>
            <td></td>
            <td></td>
            <td>Total Cost</td>
            <td><input name='totalcost2' type='text' id='totalcost2' readonly='readonly' value='$0.00'></td>
        </tr>
        </table>
<tr>
<td><br></td>
</tr>
</table>
<table border="2">
<tr><td>Total Order Cost:</td><td>
<?php 
echo "<input name='ordertotal' type='text' id='ordertotal' readonly='readonly' value='\$0.00'></td></table>";
?>
<p align="left"><input  type='submit' name='submit' value='Submit'/></p>
</form>
    </div></td>
          </tr>
        </tbody>
      </table></td>
    </tr>
  </tbody>
  </table>
  </body>
</html>

© Super User or respective owner

Related posts about php