파이어 폭스와 크롬에서 잘 동작하는 다음 자바 스크립트 코드가 있습니다. 하지만 IE에서이 페이지를로드하면 모든 필드가 NaN으로 채워집니다. 어떤 도움을 주시면 감사하겠습니다.Javascript IE에서는 NaN이지만 크롬, Firefox에서는 괜찮습니다.
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;
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)
}
이것은 위 스크립트를 호출하는 PHP 코드입니다. 기본적으로 합계를 결정하는 드롭 다운 메뉴입니다.
<table border='0' cellpadding='0' cellspacing='0'>
<tr>
<td>
<table width="100%" border="1">
<tr>
<th>Item     </th>
<th>Price      </th>
<th>Quantity     </th>
<th>Total     </th>
</tr>
<?php
mysql_connect("localhost", "***", "****") 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>
오류가 스크립트를 호출하는 코드를 게시 할 수 –
를 발생합니까? – j08691
행에 document.getElementById ('totalcost'). value = "$"+ runningtotal.toFixed (2); document.getElementById ('totalcost2'). value = "$"+ runningtotal2.toFixed (2); – Zinv