พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com | บล็อกอาหาร
Javascript development / กรอกตัวเลข แล้ว คำนวณอัตโนมัติ ทำไงครับ
Wong
Wong
Wed 13 Feb 2008 22:24:59
ช่วยทีครับ เพื่อนๆ พี่ ๆ อาจารย์ทุกท่านครับ คือ ต้องการโค๊ดแบบว่า บังคับให้กรอกตัวเลขเท่านั้นน่ะครับ และจะต้องเป้นจุดทศนิยม 2 ตำแหน่ง เมื่อกรอกแล้ว ให้เอาข้อมูลทั้งหมดมารวมกันแล้วหารด้วยจำนวน ข้อมูลที่ป้อนเข้าไปทั้งหมดครับ เข้าใจไหมครับ
เช่น
a=1
b=2
c=3
d=4
ผลลัพธ์ 10/4= อะไรก็แสดงโดยอัตโนมัติครับ

ข้อมูลผมที่ำทำตอนนี้ ทำเป็นอาร์เรย์(PHP)นะครับ ไม่รู้จะต้องเขียนยังไงต่อครับ ช่วยทีครับ
webmaster
webmaster
Thu 14 Feb 2008 02:31:24
ถ้า php ก็เอาตัวเลขทั้งหมดมาใส่ใน Array แล้วก็ใช้ array_sum($variable)/count($variable) เท่านั้นครับ
Wong
Wong
Thu 14 Feb 2008 12:11:54
อ้อ มีอย่างนี้ด้วย ผมไม่รู้ครับ เดี๋ยวจะลองดู ขอบคุณมากเลยครับ
Wong
Wong
Thu 14 Feb 2008 12:18:39
ตอนนี้ผมใช้ Java script ครับ โค๊ดผมประมาณนี้ครับ

<form name="calc">
<input type="text" name="source" value=10 onkeypress="checknumber()" onKeyUp="calcfunc()">+<input type="text" name="dest" value=10 onkeypress="checknumber()" onKeyUp="calcfunc()">=<input type="text" name="ret">
</form>
<script language="JavaScript">
//ให้รับเฉพาะตัวเลข
function checknumber() {
  key=event.keyCode
  if (key<48  ||  key>57) event.returnValue = false;
}

//คำนวณเมื่อ KeyUp
function calcfunc() {
     var val1 = parseFloat(document.calc.source.value);
     var val2 = parseFloat(document.calc.dest.value);
     document.calc.ret.value=val1/val2;
}
</script>

อันนี้เอามาจากเวบของอาจารย์ท่านนึงครับ เมื่อใส่จำนวนตัวเลขเข้าไปแล้ว จะรวมอัตโนมัติ แต่ไม่รู้ว่า ที่ท่านแนะนำจะตรงตามที่ผมต้องการหรือป่าว แต่ผมจะลองดูครับ
webmaster
webmaster
Thu 14 Feb 2008 21:48:37
นี่การบ้านส่งอาจารย์ใช่ใหมครับ

ถ้าคุณต้องการเอามาบวกกัน แต่โค๊ดนี้เป็นการหารนะครับ

ถ้าไม่ใช่โค๊ดส่งอาจารย์ แนะนิดนึงว่า event ไม่ได้สามารถอ้างได้ในทุก browser นะครับในบาง browser จะต้องอ้างผ่าน window.event เท่านั้น
foolmoo
foolmoo
Wed 12 Mar 2008 11:10:49

 อ้างอิงจากโค้ดด้านบน

var val1 = parseFloat(document.calc.source.value);
     var val2 = parseFloat(document.calc.dest.value);
     document.calc.ret.value=val1+val2;

พอเอามาบวกกันกรณีที่มี val65 ตัว  พอขึ้นบรรทัดใหม่ ไม่คำนวณค่าให้ต้องทำอย่างไร


webmaster
webmaster
Wed 12 Mar 2008 21:25:21
val65 ตัว หมายถึงอะไรหรือครับ
foolmoo
foolmoo
Thu 13 Mar 2008 14:00:47

ค่าที่รับผ่าน textbox  65 ตัวแล้วประกาศตัวแปรใน javascript  var val1 = parseFloat(document.calc.source.value);
เพื่อนำมาคำนวณค่ะ เนื่องจากพอระบบตัดขึ้นบรรทัดใหม่  ไม่คำนวนค่าที่นำมาบวกทั้งหมดให้ค่ะ  เป็นเพราะอะไรค่ะ

webmaster
webmaster
Thu 13 Mar 2008 23:50:46
alert(document.calc.source.value); ดูว่ามีค่าหรือไม่ครับ ถ้ามีถูกต้องหรือไม่ ถ้ามีอักขระขึ้นบรรทัดใหม่ก็ตัดออกครับ
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