พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com
Javascript development / webmaster ช่วยดู Code ให้ด้วยครับ
kas
kas
Sun 13 Jan 2008 12:29:50

สืบเนื่องมาจาก ท่านเจ้านายให้เขียนโปแกรมการบันทึกแบบขึ้นมา แต่ผมเองควาสามารถไม่พอเพียงเท่าที่ควรเขียนได้พอ งูๆ ปลาๆ

************** code *****************

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript">
<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
<!-- Created by: www.jdstiles.com -->
<!-- Begin
function startCalc(){
  interval = setInterval("calc()",1);
}
function calc(){
  T1 = document.autoSumForm.K1.value;
  T2 = document.autoSumForm.K2.value;
  T3 = document.autoSumForm.K3.value;
  T4 = document.autoSumForm.K4.value;
  T5 = document.autoSumForm.K5.value;
  T7 = document.autoSumForm.K7.value;
  T8 = document.autoSumForm.K8.value;
  T9 = document.autoSumForm.K9.value;
   document.autoSumForm.K9.value = (T5 * 1) - (T8 * 1);
  document.autoSumForm.K8.value = (Math.round(T7 * 1)*7/100);
  document.autoSumForm.K4.value = (T1 * 1) - ((T2 * 1) + (T3 * 1));
  document.autoSumForm.K5.value = (Math.round(T4 * 1)*7/100);
    }


function stopCalc(){
  clearInterval(interval);
}
//  End -->
</script>

</HEAD>

<BODY>
<form name="autoSumForm" method="post" action="">
<br>
<INPUT id=K1 name=K1 onFocus="startCalc();" onBlur="stopCalc();">(1)<br>
<INPUT id=K2 name=K2 onFocus="startCalc();" onBlur="stopCalc();">(2)<br>
<INPUT id=K3 name=K3 onFocus="startCalc();" onBlur="stopCalc();">(3)<br>
<INPUT id=K4 name=K4 onFocus="startCalc();" onBlur="stopCalc();" readonly>1-(2+3) (4)<br>
<INPUT id=K5 name=K5 onFocus="startCalc();" onBlur="stopCalc();" readonly>(5)= (4 * 7%)<br>
<INPUT id=K7 name=K7 onFocus="startCalc();" onBlur="stopCalc();">(6)<br>
<INPUT id=K8 name=K8 onFocus="startCalc();" onBlur="stopCalc();" readonly>(7) = (6 x 7%)<br>
<INPUT id=K9 name=K9 onFocus="startCalc();" onBlur="stopCalc();" readonly>(8) = (7 - 5) ถ้ามีค่าติดลบให้เ่ท่ากับ 0 แต่ถ้ามีค่าบวกให้เท่ากับค่าบวก <br>
<INPUT id=K10 name=K10 onFocus="startCalc();" onBlur="stopCalc();" readonly>(9) = (5 - 7) ถ้าข้อ 8 มีค่าติดลบให้นำค่าจากข้อ 8 มาใส่ช่อง 9 แต่ให้มีค่าเป็น บวก<br>
</BODY>
</HTML>

ผมทำข้อ 8 และ 9 ไม่ได้ ตามที่อธิบายไว้นะครับ

ขอบคุณมากครับ

webmaster
webmaster
Sun 13 Jan 2008 14:00:29
....
T9 = document.autoSumForm.K9.value;
var k9 = (T5 * 1) - (T8 * 1);
document.autoSumForm.K9.value = (k9 < 0)?0:k9;
document.autoSumForm.K10.value = (k9 < 0)?Math.abs(k9):"";
document.autoSumForm.K8.value = (Math.round(T7 * 1)*7/100);
....

ลองเอาไปประยุกต์ใช้ดูครับ ตัว id และ name ของ object ทั้งหมดควรใส่ " ด้วยเพื่อความถูกต้องและใช้ได้ในทุก browser

อีกอย่างถ้า form นี้มีการคำนวนเกี่ยวกับความสำคัญมากๆ เช่นการเงิน ระวังเรื่อง floating point error ของ javascript ด้วยนะครับ ผมได้เคยเขียนไว้เป็นบทความไว้ที่ toFixed() Floating point error ลองอ่านดูนะครับ
kas
kas
Sun 13 Jan 2008 15:02:21

ขอบคุณมากครับ webmaster ตอบได้เร็วมากเลยครับ

รบกวนอีกครั้งนะครับ

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript">
<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
<!-- Created by: www.jdstiles.com -->
<!-- Begin
function startCalc(){
  interval = setInterval("calc()",1);

}
function calc(){
  T1 = document.autoSumForm.K1.value;
  T2 = document.autoSumForm.K2.value;
  T3 = document.autoSumForm.K3.value;
  T4 = document.autoSumForm.K4.value;
  T5 = document.autoSumForm.K5.value;
  T7 = document.autoSumForm.K7.value;
  T8 = document.autoSumForm.K8.value;
  T9 = document.autoSumForm.K9.value;
  var k9 = (T5 * 1) - (T8 * 1);
  document.autoSumForm.K9.value = (k9 < 0)?0:k9;
  document.autoSumForm.K10.value = (k9 < 0)?Math.abs(k9):"";
  document.autoSumForm.K8.value = (Math.round(T7 * 1)*7/100);
  document.autoSumForm.K4.value = (T1 * 1) - ((T2 * 1) + (T3 * 1));
  document.autoSumForm.K5.value = (Math.round(T4 * 1)*7/100);
    }


function stopCalc(){
  clearInterval(interval);
}
//  End -->
</script>

</HEAD>

<BODY>
<form name="autoSumForm" method="post" action="">
<br>
<INPUT id="K1" name="K1" onFocus="startCalc();" onBlur="stopCalc();">(1)<br>
<INPUT id="K2" name="K2" onFocus="startCalc();" onBlur="stopCalc();">(2)<br>
<INPUT id="K3" name="K3" onFocus="startCalc();" onBlur="stopCalc();">(3)<br>
<INPUT id="K4" name="K4" onFocus="startCalc();" onBlur="stopCalc();" readonly>1-(2+3) (4)<br>
<INPUT id="K5" name="K5" onFocus="startCalc();" onBlur="stopCalc();" readonly>(5)= (4 * 7%)<br>
<INPUT id="K7" name="K7" onFocus="startCalc();" onBlur="stopCalc();">(6)<br>
<INPUT id="K8" name="K8" onFocus="startCalc();" onBlur="stopCalc();" readonly>(7) = (6 x 7%)<br>
<INPUT id="K9" name="K9" onFocus="startCalc();" onBlur="stopCalc();" readonly>(8) = (7 - 5) ถ้ามีค่าติดลบให้เ่ท่ากับ 0 แต่ถ้ามีค่าบวกให้เท่ากับค่าบวก <br>
<INPUT id="K10" name="K10" onFocus="startCalc();" onBlur="stopCalc();" >(9) = (5 - 7) ถ้าข้อ 8 มีค่าติดลบให้นำค่าจากข้อ 8 มาใส่ช่อง 9 แต่ให้มีค่าเป็น บวก ถ้าหากช่อง 8 มีค่าเป็นบวกให้ช่อง 9 มีค่าเป็น 0 <br>
</BODY>
</HTML>

ถ้าข้อ 8 มีค่าติดลบให้นำค่าจากข้อ 8 มาใส่ช่อง 9 แต่ให้มีค่าเป็น บวก ถ้าหากช่อง 8 มีค่าเป็นบวกให้ช่อง 9 มีค่าเป็น 0

รบกวนอีกครั้งนะครับ

ขอบคุณมากครับ

webmaster
webmaster
Sun 13 Jan 2008 19:44:38
document.autoSumForm.K10.value = (k9 < 0)?Math.abs(k9):0;
kas
kas
Mon 14 Jan 2008 07:11:07

ขอบคุณ webmaster มากนะครับ

Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login