Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,028

HOME > PHP > PHP Forum > [javascript] จะคำณวนเลขแบบ multi input ยังไงดีครับ



 

[javascript] จะคำณวนเลขแบบ multi input ยังไงดีครับ

 



Topic : 030078



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์




ผมมีฟอร์มกรอกข้อมูลดังนี้

<form method="post" action=".." id="form1" name="form1">
ค่าน้ำ <input type="text" name="water" />
ค่าไฟ <input type="text" name="power" />
อื่นๆ <input type="text" name="power" />
รวม <input type="text" name="total" />
</form>

แบบนี้ เรียงไปเรื่อยๆจนถึงประมาณ 50 ฟอร์ม
<form method="post" action=".." id="form50" name="form50">
ค่าน้ำ <input type="text" name="water" />
ค่าไฟ <input type="text" name="power" />
อื่นๆ <input type="text" name="power" />
รวม <input type="text" name="total" />
</form>

ทันทีที่ผมกรอกค่าน้ำ ค่าไฟ อื่นๆ จะให้คำณวนอัตโนมัติแบบ onkeyup ในแต่ละฟอร์ม
ผมจะต้องทำยังไงถึงจะเขียน javascript ให้ทำการคำณวนในแต่ละฟอร์มได้โดยประหยัดจำนวนบรรทัด?
แต่เดิมผมจะเอา document.form.input มาบวกกัน แล้วใช้ php วนลูปคำสั่งjavaเหล่านี้เท่าจำนวนฟอร์ม
เช่น
function calculatetotal1() {
}
...ไปจนถึง
function calculatetotal50() {
}
แต่มันออกมาเยอะมากๆหลายร้อยบรรทัด เพราะบวกหลายช่อง(ในตัวอย่างนั่นแค่แบบย่อๆ) จนบางครั้งเครื่องที่กรอกแฮงเอาดื้อๆ
อยากได้แบบที่เขียนน้อยๆทำงานมากๆอะครับ มีมั้ยง่ะ? jquery มี plug in อะไรบบนี้มั้ย?
เจอ calculation for jquery แต่ก็ทำอย่างที่ผมอยากได้ไม่ได้เหมือนกัน สุดท้ายก็ต้องเอามา loop เหมือนเดิม.



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-08-07 16:09:12 By : mr.v View : 4741 Reply : 17
 

 

No. 1



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์



จะได้เห็นภาพ






Date : 2009-08-07 16:14:46 By : mr.v
 


 

No. 2



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

เอาโค้ดใน form มาด้วยซัก 5 อันครับ จะได้ไม่คอนฟลิก เดี๋ยวอาจมีการใส่ attr เพิ่ม หน่อย
Date : 2009-08-07 17:58:15 By : pjgunner
 

 

No. 3



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

เอาโค้ดจริงๆ เอาแท็คฟอร์มมาซัก 5 อันครับ เห็นมันมีช่องเยอะเดี๋ยวจะใช้ jQuery ผิดคับ
Date : 2009-08-07 17:59:32 By : pjgunner
 


 

No. 4



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


Code (PHP)
<?php
<form name="form1" id="form1" method="post" action="?page=onepage_enter&act=save">
<td><a name="1">1/2</a>

				<input type="hidden" name="room_id" value="2" />
				<input type="hidden" name="bill_month" value="2009-09-01" />
				</td>
<td nowrap="nowrap"><input type="text" name="cus_prefix" value="น.ส." size="1" /><input type="text" name="cus_name" value="ชื่อ" size="7" /><input type="text" name="cus_lastname" value="สกุล" size="10" /><input type="hidden" name="rectype" value="add" /></td>
<td><input type="text" name="water_end" value="" size="2" /></td>
<td><input type="text" name="water_start" value="211" size="2" /></td>
<td><div id="water_unit"></div><!--water unit--></td>
<td><input type="text" name="elec_end" value="" size="3" /></td>
<td><input type="text" name="elec_start" value="29633" size="3" /></td>
<td><div id="elec_unit"></div><!--elec unit--></td>
<td><select name="room_price" size="1">
<option value="0.00">0 ย้ายออก</option>
<option value="3200.00">3200 </option>

<option value="3400.00">3400 </option>
<option value="3500.00">3500 </option>
<option value="3700.00">3700 </option>
<option value="3900.00">3900 </option>
<option value="8000.00" selected="selected">8000 ร้านค้า</option>
<option value="9000.00">9000 ร้านค้า</option>
<option value="10000.00">10000 ร้านค้า</option>
</select>
</td>
<td><input type="text" name="water_value" value="" size="1" readonly="readonly" /></td>

<td><input type="text" name="elec_value" value="" size="1" readonly="readonly" /></td>
<td><input type="text" name="phone_value" value="" size="1" />
				<input type="hidden" name="phone_start" value="1246381200" />
				<input type="hidden" name="phone_end" value="1249059600" />
				</td>
<td nowrap="nowrap" style="background:#D2EBFF;">
				net<input type="text" name="bill_internet" value="0" size="1" maxlength="10" />
				เคเบิล<input type="text" name="bill_ctv" value="0" size="1" maxlength="10" />
				จอดรถ<input type="text" name="bill_carpark" value="0" size="1" maxlength="10" />

				clean<input type="text" name="bill_clean" value="" size="1" maxlength="10" />
				อื่นๆ<input type="text" name="bill_other" value="" size="1" maxlength="10" /><input type="text" name="bill_other_detail" value="" size="5" maxlength="255" />
				</td>
<td nowrap="nowrap">
				<input type="text" name="bill_total" value="" size="2" />
				<img src="images/calculator.png" border="0" alt="" />
				<input type="image" src="images/save.png" name="btnact" value="save" title="บันทึก" />
				</td>

</form>

?>

เป็นโค้ดแบบนี้ครับ ตรง <form> จะเป็น form1 ไปจนถึงประมาณ form50 หรืออาจเพิ่ม/ลดได้อีก
ตรง input name="water_end" จะเอาไปลบกับ water_start แล้วแสดงผลที่ water_unit แล้วเอา water_unit*กับ[ค่าน้ำต่อหน่วย]=เป็น water_value แล้วเช็คอีกว่าถ้าค่าน้ำต่อหน่วยน้อยกว่า 90 ให้ water_value เท่ากับค่าน้ำที่น้อยที่สุด
ค่าไฟทำแบบเดียวกัน
แล้วใน input name="bill_total" เอาค่า water_value+elec_value+ค่าใช้จ่ายอื่นๆ+ค่าห้องมารวมๆกันครับ โดยการ onclick รูปเครื่องคิดเลข
อธิบายแบบนี้เข้าใจมั้ยอะครับ?
Date : 2009-08-07 18:13:38 By : mr.v
 


 

No. 5



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


แก้ไข
water_unit*กับ[ค่าน้ำต่อหน่วย]=เป็น water_value แล้วเช็คอีกว่าถ้าค่าน้ำต่อหน่วยน้อยกว่า 90 ให้ water_value เท่ากับค่าน้ำที่น้อยที่สุด
เป็น
water_unit*กับ[ค่าน้ำต่อหน่วย]=เป็น water_value แล้วเช็คว่าถ้า water_value(water_unit*ค่าน้ำต่อหน่วย) น้อยกว่า 90 ให้ water_value เท่ากับค่าน้ำที่น้อยที่สุดคือ 90
Date : 2009-08-07 18:18:20 By : mr.v
 


 

No. 6



โพสกระทู้ ( 1,357 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


function เดียวเรียบร้อยครับ น่าจะพอทำต่อได้


<form method="post" action=".." id="form50" name="form50">
ค่าน้ำ <input type="text" name="water"  onblur="cal(this)"/>
ค่าไฟ <input type="text" name="power"   onblur="cal(this)"/>
อื่นๆ <input type="text" name="power"  onblur="cal(this)" />
รวม <input type="text" name="total"  onblur="cal(this)" />
</form>
<script language="JavaScript">
function cal(obj)
{
frm = obj.form;
sum = 0;
for (var i=0;i<frm.length;i++)
  {
  val = frm.elements[i].value==""?0:frm.elements[i].value;  
  sum = sum+parseFloat(val);
  }
  alert(sum);
}
</script> 


Date : 2009-08-07 18:19:02 By : lozomac
 


 

No. 7



โพสกระทู้ ( 830 )
บทความ ( 0 )



สถานะออฟไลน์


ลองดูอะ

Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-11" />
	<meta name="author" content="Marosdee" />
<script type="text/javascript">
	function calculate(count)
	{
		var total = 0;
		var water = parseInt(document.getElementById('water_' + count).value);
		var power = parseInt(document.getElementById('power_' + count).value);
		var other = parseInt(document.getElementById('other_' + count).value);

		if ( isNaN(water) )
		{
			water = 0;
		}
		if ( isNaN(power) )
		{
			power = 0;
		}
		if ( isNaN(other) )
		{
			other = 0;
		}
		
		total = water + power + other;
		
		document.getElementById('total_' + count).value = total;
	}
</script>
	<title>Untitled 5</title>
</head>

<body>

<?php

for ( $i = 1; $i <= 50; $i ++ ) {
?>

<form method="post" action=".." id="form<?php echo $i ?>" name="form<?php echo $i ?>">
ค่าน้ำ 
<input type="text" name="water" id="water_<?php echo $i ?>" onkeyup="calculate(<?php echo $i ?>)" />
ค่าไฟ 
<input type="text" name="power" id="power_<?php echo $i ?>" onkeyup="calculate(<?php echo $i ?>)" />
อื่นๆ 
<input type="text" name="other" id="other_<?php echo $i ?>" onkeyup="calculate(<?php echo $i ?>)" />
รวม 
<input type="text" name="total" id="total_<?php echo $i ?>"  />
</form>
<?php
}
?>
</body>
</html>

Date : 2009-08-07 18:21:00 By : danya
 


 

No. 8



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


เรื่อง javascript บอกตรงๆว่าไปไม่ค่อยเป็นครับ
Date : 2009-08-07 18:23:37 By : mr.v
 


 

No. 9



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

ถ้าโค้ดของ คุณ A-mac ทำงานได้ก็โอเคครับ เพียงแค่ใส่ฟังชั่น onblur ทุก element คับ
ส่วน javascript ที่เขียนมาก็สั้นกว่าเขียน โดยใช้ jQuery คับ


ผมขี้เกียจเขียน jQuery อยู่เหมือนกัน หรือจะให้เขียน
Date : 2009-08-07 18:23:38 By : pjgunner
 


 

No. 10



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


เดี๋ยวผมจะลองแล้วมาบอก
Date : 2009-08-07 18:25:00 By : mr.v
 


 

No. 11



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

อะไรไม่ตรงกะรูปเลยอ่ะ มี cable มี จอดรถ มี ร้านค้า ???
Date : 2009-08-07 18:33:44 By : pjgunner
 


 

No. 12



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


คุณเอี่ยววว ผมก็แค่ยกตัวอย่างเฉยๆ ไม่อยากให้ตกกะใจ เพราะมันคำณวนเยอะม๊ากก
Date : 2009-08-07 23:22:15 By : mr.v
 


 

No. 13



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


ของคุณ a-mac ไม่เวิคครับ เป็น Nan ตลอด
Date : 2009-08-08 00:49:46 By : mr.v
 


 

No. 14

Guest


ของคุณดุนยาน่าจะได้แล้ว ลองบวกลบหน่วยน้ำแล้ว ok. แต่ยังไม่ได้ลองทั้งฟอร์ม ขอบคุณคับ
Date : 2009-08-08 01:21:51 By : mr.v
 


 

No. 15



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


กำ..กลายเป็น guest ทั้งๆ log in
preview ก็ยัง log in ไหงเป็นงี้
Date : 2009-08-08 01:22:43 By : mr.v
 


 

No. 16



โพสกระทู้ ( 1,357 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


โค้ดผม จะเอาค่าทุกอย่าง ที่อยู่ในฟอร์ม ถ้าคุณมีอย่างอื่นนอกจาก textbox ที่จะเอามาคำนวน ก็ต้องเพิ่มเงื่อนไขเองล่ะครับ
Date : 2009-08-08 15:54:37 By : lozomac
 


 

No. 17



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


ของคุณ a-mac รับอะไรเข้ามาไม่ได้เลยครับ ค่าเดิมๆจากตัวอย่างก็ไม่เข้า เป็น 0 หรือ nan ตลอดเลย

แต่ผมทำเสร็จแล้ว ใช้ของคุณดุนยามาแปลงนิดนึง
Date : 2009-08-08 22:03:30 By : mr.v
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : [javascript] จะคำณวนเลขแบบ multi input ยังไงดีครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่