สอบถาม เรื่อง javascript ในการคำนวณ textbox หน่อยครับ
javascript ในการคำนวณ textbox หน่อยครับ ผมทำให้มันคำนวณได้แล้วครับ
แต่เวลาเลือกหรือเปลี่ยนข้อมูล ค่า ผลลัพธ์มันจะเพี้ยน ดังรูปเลยครับ ทั้ง list และ textbox
จะส่งค่าไปเช็คใน functino chksum() ตอนคำนวณนะครับ
********** ผลลัพธ์ในช่องสีน้ำเงินจะได้จาก (ราคา * น้ำหนักสุทธิ) นะครับ ***************
*** ช่องสีแดงคือ ข้อมูลที่อัพเดตแล้ว ค่า ในช่องสีน้ำเงิน จะเพี้ยน ***
อันนี้คือ โค้ดในหน้านี้ครับ //// บรรทัดที่ 91 - 101 คือ functino chksum ไม่ทราบว่ามันผิดตรงไหน T T
Code (PHP)
<?php
include("config.php");
include("changeDate.php");
$date = date("Y-m-d");
if($_POST["hdnCmd"] == "บันทึก")
{
$strSQL3 = "SELECT * FROM stock WHERE stock_id =1";
$objQuery3 = mysql_query($strSQL3);
$objResult3 = mysql_fetch_array($objQuery3);
$weight = $objResult3["weight"] + $_POST["bg_weight"];
////////////
$strSQL = "INSERT INTO rubber_buying (u_id,b_date,bg_weight,damp,bn_weight,price,net_money) VALUES ('".$_POST["f_name"]."','".$date."','".$_POST["bg_weight"]."','".$_POST["damp"]."','".$_POST["bn_weight"]."',
'".$_POST["price"]."','".$_POST["net_money"]."')";
$objQuery = mysql_query($strSQL);
if(!$objQuery)
{
echo "Error Save [".mysql_error()."]";
}
else
{
mysql_query("UPDATE stock SET stock_date = '".$date."',weight = '".$weight."' WHERE stock_id = 1");
echo
"<title>jQuery Alert Dialogs<</title>
<script src=\"_assets/js/jquery.js\" type=\"text/javascript\"></script>
<script src=\"_assets/js/jquery.ui.draggable.js\" type=\"text/javascript\"></script>
<script src=\"_assets/js/jquery.alerts.js\" type=\"text/javascript\"></script>
<link href=\"_assets/css/jquery.alerts.css\" rel=\"stylesheet\" type=\"text/css\" media=\"screen\" />
<script type=\"text/javascript\">
$(document).ready(function() {
$(\"#alert3\").ready(function() {
jAlert('success', 'เพิ่มข้อมูลการซื้อเรียบร้อยแล้ว!', 'พลพิชัยการยาง' ,function(r){
if (r) window.history(back)});
});
});
</script>";
}
}
?>
<span style="text-align: center"></span>
<aside>
<section>
<div>ข้อมูลการซื้อยาง</div>
<form name="frmMain" method="post" action="<?=$_SERVER["PHP_SELF"];?>">
<input type="hidden" name="hdnCmd" value="">
<table width="90%" border="0" align="center" cellpadding="2" cellspacing="2">
<tr>
<td align="right"> </td>
<td width="65%" align="right">วันที่ : <? echo thdate(date("Y-m-d")); ?>
<? /*<label for="b_date"></label>
<input name="b_date" type="text" id="b_date" value="<? echo thdate(date("Y/M/D")); ?>" size="15" maxlength="50" readonly> */ ?></td>
</tr>
<tr>
<td align="right">ชื่อลูกค้า<span dir="RTL"> </span><span dir="RTL"><span dir="RTL"> </span>:</span></td>
<td align="left"><label for="f_name"></label>
<select name="f_name" id="f_name" ><option
<option value="4000">
ธวัชชัย หนูนา </option>
<option value="10220">
ณรงค์ศักดิ์ คงดี </option>
</select></td>
</tr>
</table>
<hr>
<table width="90%" border="0" align="center" cellpadding="2" cellspacing="2">
<tr>
<td align="right">รอบที่ :</td>
<td align="left">
<script language="JavaScript">
function resultPrice(terms)
{
switch(terms)
{
case "1":
frmMain.price.value = "50";
break;
case "2":
frmMain.price.value = "45";
break;
case "3":
frmMain.price.value = "55";
break;
default:
frmMain.price.value = "";
}
}
</script>
<script language="javaScript">
//ตรวจสอบค่าใน textfield และคำนวณ
function chksum(){
var a1=parseFloat(document.frmMain.bg_weight.value);
var a2=parseFloat(document.frmMain.damp.value);
var a3=parseFloat(document.frmMain.bn_weight.value);
var a4=parseFloat(document.frmMain.price.value);
document.frmMain.bn_weight.value=a1-a2;
document.frmMain.net_money.value=a3*a4; //---- เปลี่ยนเอาจะ + - * /
}
</script>
<label for="terms"></label>
<select name="terms" id="terms" OnChange="resultPrice(this.value)&chksum();">
<option value=""><เลือก></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select></td>
<td align="left"> </td>
</tr>
<tr>
<td align="right">ราคายาง :</td>
<td align="left"><label for="price"></label>
<input name="price" type="text" id="price" size="5" readonly></td>
<td align="left">บาท/กิโลกรัม</td>
</tr>
<tr>
<td align="right">น้ำหนักยาง :</td>
<td width="32%" align="left">
<label for="rb_detail"></label>
<label for="bg_weight"></label>
<input name="bg_weight" type="text" id="bg_weight" size="10" onKeyUp="chksum()"></td>
<td width="33%" align="left">กิโลกรัม</td>
</tr>
<tr>
<td align="right"><u>หัก</u> ความชื้น :</td>
<td align="left"><label for="damp"></label>
<label for="damp"></label>
<select name="damp" id="damp" onChange="chksum()">
<option value="0">ระดับ 0</option>
<option value="2">ระดับ 1</option>
<option value="4">ระดับ 2</option>
<option value="6">ระดับ 3</option>
</select></td>
<td align="left"><label for="ddd"> กิโลกรัม</label></td>
</tr>
<tr>
<td align="right">น้ำหนักสุทธิ : </td>
<td align="left"><label for="bn_weight"></label>
<input name="bn_weight" type="text" id="bn_weight" size="10"></td>
<td align="left">กิโลกรัม</td>
</tr>
<tr>
<td align="right">รวมเงินสุทธิ :</td>
<td align="left"><label for="net_money"></label>
<input name="net_money" type="text" id="net_money" size="15" readonly></td>
<td align="left">บาท</td>
</tr>
<tr>
<td align="right"> </td>
<td colspan="2" align="left"><input name="btnAdd" type="button" id="btnAdd3" value="บันทึก" OnClick="frmMain.hdnCmd.value='บันทึก';frmMain.submit();">
<input type="reset" name="reset" id="reset" value="ยกเลิก"></td>
</tr>
</table>
</form>
</section>
</aside>
Tag : PHP, MySQL, HTML/CSS, JavaScript, jQuery
ประวัติการแก้ไข 2014-04-06 19:14:06 2014-04-06 19:16:47 2014-04-06 19:18:44 2014-04-06 19:21:19 2014-04-06 19:21:50 2014-04-06 19:23:38 2014-04-06 19:26:17 2014-04-06 19:26:51 2014-04-06 19:27:17 2014-04-06 19:29:59 2014-04-06 19:36:59
Date :
2014-04-06 19:10:54
By :
oodd2
View :
1263
Reply :
3
ช่วยหน่อยนะครับ พี่ๆ ๆ T T
Date :
2014-04-06 19:55:22
By :
oodd2
เพราะไปอ่านค่าน้ำหนักก่อนที่จะอัพเดตหักความชื้นป่ะครับ
Code (PHP)
var a3=parseFloat(document.frmMain.bn_weight.value); //อ่านค่าน้ำหนักสุทธิเก่า
var a4=parseFloat(document.frmMain.price.value);
document.frmMain.bn_weight.value=a1-a2; //หักความชื้น
document.frmMain.net_money.value=a3*a4; //ตรงนี้จึงเป็นค่าเก่า
Date :
2014-04-06 20:39:25
By :
natt_han
โอเคร ครับ ได้แล้วๆ ครับ เส้นผมบังภูเขา ^^
แก้นิดเดียวเองครับ
Code (JavaScript)
<script language="javaScript">
//ตรวจสอบค่าใน textfield และคำนวณ
function chksum(){
var a1=parseFloat(document.frmMain.bg_weight.value);
var a2=parseFloat(document.frmMain.damp.value);
document.frmMain.bn_weight.value=a1-a2; // <<< เลื่อนขึ้นไปคำนวณก่อน ^^
var a3=parseFloat(document.frmMain.bn_weight.value);
var a4=parseFloat(document.frmMain.price.value);
document.frmMain.net_money.value=a3*a4; //---- เปลี่ยนเอาจะ + - * /
}
</script>
ขอบคุณ คุณ natt_han มากๆครับ ผมตกตรรกะ 5555
Date :
2014-04-06 20:58:08
By :
oodd2
Load balance : Server 01