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,027

HOME > PHP > PHP Forum > รบกวนช่วยอธิบายการทำงานของโค๊ดตัวนี้ให้ผมหน่อยได้ไหมครับ ไม่ทราบว่าการทำงานเป็นยังไง



 

รบกวนช่วยอธิบายการทำงานของโค๊ดตัวนี้ให้ผมหน่อยได้ไหมครับ ไม่ทราบว่าการทำงานเป็นยังไง

 



Topic : 089755



โพสกระทู้ ( 227 )
บทความ ( 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" dir="ltr" lang="th" xml:lang="th">
<head>
 <meta http-equiv="content-type" content="text/html; charset=tis-620" />
 <title>calculate number</title>
 <script type="text/javascript">
 //<![CDATA[  
  window.onload=function(){
   var f = document.getElementById('box');  
   function calA(i){
    var d = function (){
     var k = f['k[]'][i];
     var p = f['p[]'][i];
     var a = f['a[]'][i];
     k.value = k.value.replace(/[^\d\.]/g,'');
     p.value = p.value.replace(/[^\d\.]/g,'');
     a.value = (k.value*1) * (p.value*1);
     if (a.value <= 0){
      a.style.color = 'red';
     } else {
      a.style.color = 'black';
     }
    }
    return d; 
   }
   for(var i=0;i<f['k[]'].length;i++){
    f['k[]'][i].onkeyup = calA(i);
    f['p[]'][i].onkeyup = calA(i);
   }
  }
 //]]>
 </script>
</head> 
<body>
 
 
<form method="post" action="?" id="box">
 <input type="text" name="a" value="k" disabled="disabled" />
 <input type="text" name="p" value="p" disabled="disabled" />
 <input type="text" name="k" value="a" disabled="disabled" />
 <?php echo '<br'.' />';?>
<?php foreach(range(1,5) as $m):?>
 <input type="text" name="k[]" value="" />
 <input type="text" name="p[]" value="" />
 <input type="text" name="a[]" value="" />
 <?php echo '<br'.' />';?>
<?php endforeach;?>
</form>
 
</body>
</html>



ผมชอบโค๊ดตัวนี้ แต่ติดที่การทำงานในส่วนของ javascript ตรงในส่วนที่ส่งค่าเข้าไปยัง calA(i) เข้าไปแล้วออกมายังไง ระหว่างที่เข้าไป
ข้อมูลถูกกระทำอันใดบ้างก่อนจะส่งค่าไปที่ไหนแล้วไปจบที่การแสดงออกทางจอภาพได้อย่างไรครับ แล้ว return D เป็นการส่งอะไรออกมา

ถ้าจะเพิ่ม textbox เพื่อรวมค่าของ a.value (คิดง่ายๆก็คือยอดรวมราคารวมของทั้งหมด) ต้องเขียนโค๊ดลักษณะไหนเพื่อให้ผลลัพธ์ออกมา
ในขณะที่กรอกข้อมูลเสร็จ(OnKeyUp)



Tag : PHP, MySQL, JavaScript









ประวัติการแก้ไข
2013-01-24 23:51:41
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-01-24 23:36:38 By : nook563 View : 671 Reply : 1
 

 

No. 1



โพสกระทู้ ( 227 )
บทความ ( 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" dir="ltr" lang="th" xml:lang="th">
<head>
 <meta http-equiv="content-type" content="text/html; charset=tis-620" />
 <title>calculate number</title>
 <script type="text/javascript">
 //<![CDATA[  
  window.onload=function(){
   var f = document.getElementById('box');  
   function calA(i){
    var d = function (){
     var k = f['k[]'][i];
     var p = f['p[]'][i];
     var a = f['a[]'][i];
     k.value = k.value.replace(/[^\d\.]/g,'');
     p.value = p.value.replace(/[^\d\.]/g,'');
     a.value = (k.value*1) * (p.value*1);
     if (a.value <= 0){
      a.style.color = 'red';
     } else {
      a.style.color = 'black';
     }
    }
    return d; 
   }
   for(var i=0;i<f['k[]'].length;i++){
    f['k[]'][i].onkeyup = calA(i);
    f['p[]'][i].onkeyup = calA(i);
   }
  }
  
  function calSum(){
	 var f = document.getElementById('box');  
   function calA(i){
    var d = function (){
     var k = f['k[]'][i];
     var p = f['p[]'][i];
     var a = f['a[]'][i];
	 var t = f['t'];
	 var sum = 0;
		/*
		for(var i=0;i<f['a[]'].length;i++){
			sum += a.value;
		}
		*/
		t.value = "sum";
     //k.value = k.value.replace(/[^\d\.]/g,'');
     //p.value = p.value.replace(/[^\d\.]/g,'');
     //a.value = (k.value*1) * (p.value*1);
     if (t.value <= 0){
      t.style.color = 'red';
     } else {
      t.style.color = 'black';
     }
    }
    return d; 
   }
   for(var i=0;i<f['k[]'].length;i++){
    f['k[]'][i].onkeyup = calA(i);
    f['p[]'][i].onkeyup = calA(i);
   }
  }
 //]]>
 </script>
</head> 
<body>
 
 
<form method="post" action="?" id="box">
 <input type="text" name="a" value="k" disabled="disabled" />
 <input type="text" name="p" value="p" disabled="disabled" />
 <input type="text" name="k" value="a" disabled="disabled" />
 <?php echo '<br'.' />';?>
<?php foreach(range(1,5) as $m):?>
 <input type="text" name="k[]" value="" onKeyUp="JavaScript:calSum();" />
 <input type="text" name="p[]" value="" onKeyUp="JavaScript:calSum();"/>
 <input type="text" name="a[]" value="" />
 <?php echo '<br'.' />';?>
<?php endforeach;?>
<br/>
<input type="text" name="t" value="" />
</form>
 
</body>
</html>


อันนี้ผมลองทำดูครับ แต่ก็ไม่ประสบผลสำเร็จ ไม่สามารถทำงานได้ function calSum()






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-24 23:52:37 By : nook563
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนช่วยอธิบายการทำงานของโค๊ดตัวนี้ให้ผมหน่อยได้ไหมครับ ไม่ทราบว่าการทำงานเป็นยังไง
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่