โค้ดคำนวณราคาสินค้าแบบอัตโนมัติ โดยใช้ javascrip ค่ะ รบกวนผู้รู้ช่วยตอบหน่อยค่ะ
<?
session_start();
//require("../connect/connect_inc.php");
//$idmember = $_COOKIE[idmember];
?>
<HTML>
<BODY>
<script type="text/javascript">
function doCalSum(Record, Qty, Price){
var Sum;
Sum = parseInt(Qty) * parseFloat(Price);
document.getElementById("hdnSum" + Record).value = Sum.toFixed(2);
document.getElementById("spnSum" + Record).innerHTML = Sum.toFixed(2);
doCalTotal()
$sum=Sum;
$result = $sum;
return $result;
}
function doCalTotal(){
var Record = document.getElementById("hdnCount").value;
var Total = 0;
for(i=0;i<=Record;i++){
Total += parseFloat(document.getElementById("hdnSum" + i).value);
}
document.getElementById("spnTotal").innerHTML = Total.toFixed(2);
}
function digitsOnly(obj){
var regExp = /[0-9]$/;
if(!regExp.test(obj.value)){
obj.value = obj.value.substring(0, obj.value.length -1);
return false;
}
}
</script>
<TABLE WIDTH="770" BORDER="0" align="center">
<TR>
<TD WIDTH="580" VALIGN="top">
<?
//============ กรณีลบรายการสั่งซื้อ
if (isset($_GET['remove'])){
unset($sess_productsid[$_GET['remove']]);
//header('Location: ' . $_SERVER['PHP_SELF']);
}
$sess_productsid = array(1, 2, 3, 4, 5);
$strNum=0;
if (count($sess_productsid)==0) {
echo "ยังไม่มีสินค้าอยู่ในตะกร้าค่ะ <BR>";
} else {
?>
<FORM METHOD="post" ACTION="basket_cal.php" >
<TABLE WIDTH="100%" BORDER="1" align="center">
<tr>
<td width="100%" colspan="6" align="center">รายการสินค้าในตะกร้าของคุณ</td>
</tr>
<TR BGCOLOR="#E8E8E8">
<TD WIDTH="6%"><CENTER><B>ลบ</B></CENTER></TD>
<TD WIDTH="35%"><CENTER><B>ชื่อสินค้า</B></CENTER></TD>
<TD WIDTH="10%"><CENTER><B>จำนวนต่อแพ็ค</B></CENTER></TD>
<TD WIDTH="10%"><CENTER><B>ราคาต่อหน่วย</B></CENTER></TD>
<TD WIDTH="10%"><CENTER><B>จำนวน</B></CENTER></TD>
<TD WIDTH="30%"><CENTER><B>รวม</B></CENTER></TD>
</TR>
<?php
$sess_pricepack = Array(120,132,24,70,55);
$sess_numberpack = Array(10,2,4,6,2);
$sess_productname = Array("Pencil", "Pen", "Rubber", "Ruler", "Rock");
$sess_numberorder = Array(5,3,2,6,3);
$total = 0;
for ($i=0;$i<count($sess_productsid);$i++) {
//$Numcount = $strNum++;
$total += ($sess_numberpack[$i] * $sess_pricepack[$i]);
?>
<TR>
<TD height="30"><a href="?remove=<?php echo $sess_productsid[$i]; ?>"><img src="../image/no2.gif" width="12" height="11" border="0"></a></TD>
<TD align="center"><?=$sess_productname[$i] ?><input type='hidden' name='productsid' id="productsid" value="<?=$strNum?>" /></TD>
<TD><CENTER><?=$sess_numberpack[$i]?></CENTER></TD>
<TD><CENTER><?=$sess_pricepack[$i]?></CENTER></TD>
<TD><CENTER>
<input type='text' name="NumberOrder[]" value="<?=$sess_numberorder[$i]?>" size='4' onkeyup="digitsOnly(this);doCalSum('<?=$i?>', this.value,' <?=$sess_pricepack[$i]?>')" >
</CENTER>
</TD>
<TD align="center"><span name="spnSum" id="spnSum<?=$i?>"><?= ($sess_numberpack[$i] * $sess_pricepack[$i]); ?></span>
<input type="hidden" name="hdnSum" id="hdnSum<?=$i?>" value="<?=$sess_pricepack[$i]?>" />
</TD>
</TR>
<?php
}
?>
<tr>
<td colspan="5" align="right">จำนวน (รายการ)</td>
<td align="center"> <?=$i?></td>
</tr>
<tr>
<td colspan="5" align="right">จำนวนเงินทั้งหมด</td>
<td align="center"><span name="spnTotal" id="spnTotal"></span><?=$total?></td>
</tr>
<tr>
<td colspan="6" align="right">
<INPUT TYPE="submit" NAME="back" VALUE="กลับไปซื้อต่อ">
<INPUT TYPE="submit" NAME="calculate" VALUE="คำนวณใหม่">
<INPUT TYPE="submit" NAME="complete" VALUE="สั่งซื้อสินค้า">
</td>
</tr>
</TABLE>
<input type="hidden" name="hdnCount" id="hdnCount" value="<?=$strNum?>"/>
</FORM>
<?php
}
?>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
อ่ะลองเอาไปดูครับ แค่เปลี่ยนจาก onkeypress เป็น onkeyup นะ แล้วก็ลองดู Code แล้วกัน
Date :
2010-08-19 22:28:07
By :
burn
Load balance : Server 00