Wong

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

Thu 14 Feb 2008 02:31:24
Thu 14 Feb 2008 02:31:24
ถ้า php ก็เอาตัวเลขทั้งหมดมาใส่ใน Array แล้วก็ใช้ array_sum($variable)/count($variable) เท่านั้นครับ
Wong

Thu 14 Feb 2008 12:11:54
Thu 14 Feb 2008 12:11:54
อ้อ มีอย่างนี้ด้วย ผมไม่รู้ครับ เดี๋ยวจะลองดู ขอบคุณมากเลยครับ
Wong

Thu 14 Feb 2008 12:18:39
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>
อันนี้เอามาจากเวบของอาจารย์ท่านนึงครับ เมื่อใส่จำนวนตัวเลขเข้าไปแล้ว จะรวมอัตโนมัติ แต่ไม่รู้ว่า ที่ท่านแนะนำจะตรงตามที่ผมต้องการหรือป่าว แต่ผมจะลองดูครับ
<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

Thu 14 Feb 2008 21:48:37
Thu 14 Feb 2008 21:48:37
นี่การบ้านส่งอาจารย์ใช่ใหมครับ
ถ้าคุณต้องการเอามาบวกกัน แต่โค๊ดนี้เป็นการหารนะครับ
ถ้าไม่ใช่โค๊ดส่งอาจารย์ แนะนิดนึงว่า event ไม่ได้สามารถอ้างได้ในทุก browser นะครับในบาง browser จะต้องอ้างผ่าน window.event เท่านั้น
ถ้าคุณต้องการเอามาบวกกัน แต่โค๊ดนี้เป็นการหารนะครับ
ถ้าไม่ใช่โค๊ดส่งอาจารย์ แนะนิดนึงว่า event ไม่ได้สามารถอ้างได้ในทุก browser นะครับในบาง browser จะต้องอ้างผ่าน window.event เท่านั้น
foolmoo

Wed 12 Mar 2008 11:10:49
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

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

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

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

















