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

HOME > PHP > PHP Forum > ส่งค่าคำนวณจาก js ไปแสดงในเว็บแต่พอส่งค่าhiddenของ php เลข0เพิ่มมาเยอะเลย ช่วยหน่อยครับ



 

ส่งค่าคำนวณจาก js ไปแสดงในเว็บแต่พอส่งค่าhiddenของ php เลข0เพิ่มมาเยอะเลย ช่วยหน่อยครับ

 



Topic : 120263



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



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




ผมทำหน้าคิดราคาสินค้าหน้าเคาน์เตอร์

ตะกร้าสินค้า

ใน javascript มีการดึง ajax มาเพื่อคำนวณราคาสินค้าแล้วแทรก row เพื่อแสดงและเก็บ hidden ของผลรวมไว้
แต่พอเทสปรากฎว่าเลขที่อยู่ใน hidden นั้นมีเลข 0 ต่อท้ายขึ้นมาตามจำนวนสินค้าที่ซื้อมาครับ ทั้งที่ตอนแสดงในตารางก็ตรงกัน

รบกวนช่วยดูให้ทีครับว่าผมไปทำอะไรผิดตรงไหน

Javascript
var totalsum = 0;

function showidproduct(a) {
	
    if (a.length == 0) {
        document.getElementById("showproduct").innerHTML = "";
        return;
    } else {
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			result = xmlhttp.responseText;
			
				var respArray = result.split('#'); //รับค่าเป็น3ค่าโดยมี # เป็นตัวแบ่ง
				var resp1 = respArray[0]; // ไอดีสินค้า
				var resp2 = parseInt(respArray[1]); //ราคาสินค้า
				var resp3 = respArray[2];// ชื่อสินค้า
				var numbuy = document.getElementById("numbuy1").value;
				var table = document.getElementById("tablebuy");
				var row = table.insertRow(table.rows.length-2);
				row.id = row.uniqueID	;
				var cell = row.insertCell(0);
           		cell.innerHTML = "<center>"+resp1+"</center><input type='hidden' name='idpro[]' id='idpro[]' value="+resp1+" />";
				 
				var cell = row.insertCell(1);
           		cell.innerHTML = resp3;
				var cell = row.insertCell(2);		 
				cell.innerHTML = "<center>"+numbuy+"</center><input type='hidden' name='numbuy[]' id='numbuy[]' value="+numbuy+" />";
				 
				var cell = row.insertCell(3);
				cell.innerHTML = "<center>"+resp2.toFixed(2)+"</center>";
				 
				var cell = row.insertCell(4);
				var sum = parseInt(numbuy*resp2);
				cell.innerHTML = "<center>"+sum.toFixed(2)+"</center><input type='hidden' name='sum[]' id='sum[]' value="+sum+" />";
				  
				var cell = row.insertCell(5);
				cell.innerHTML = "<center><input type='button' value='ลบสินค้า' onclick='deleteRow("+row.id+","+sum+")'></center>";
				  
				 totalsum = parseInt(totalsum+sum);
				  
				  document.getElementById("totalbuy").innerHTML=totalsum.toFixed(2)+"<input type='hidden' name='hiddentotal' id='hiddentotal' value="+totalsum+" />";  //แสดงผลรวมและใส่ค่าลงใน hidden

				  
				 
            }
			 
        }
       xmlhttp.open("GET", "ajaxtestproduct.php?a="+a,true);
       xmlhttp.send();
    }
}


PHP
$idpro = $_POST['idpro']; //array ไอดีสินค้า
$sum = $_POST['sum']; // array ผลรวมเงินที่ซื้อสินค้าชิ้นนั้นๆ
$totalbuy = $_POST['hiddentotal'];

print_r ($idpro);
print_r ($numbuy);
print_r ($sum);
print $totalbuy;


ถ้าจากภาพตัวอย่างด้านบน ลองแสดงค่าจะได้
Array ( [0] => 2 [1] => 3 ) Array ( [0] => 1 [1] => 1 ) Array ( [0] => 40 [1] => 18 ) 5800 <-จริงๆ ต้องเป็น 58
ผมลองเปลี่ยนหลายอย่างแล้วก็ยังคงเป็นแบบเดิม แต่ส่ง array ได้ตรง อยากรู้มากครับว่าแก้อย่างไรดี



Tag : PHP









ประวัติการแก้ไข
2015-11-30 23:59:35
2015-12-01 00:00:04
2015-12-01 00:00:30
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-11-30 23:57:12 By : lovehinatava View : 3034 Reply : 3
 

 

No. 1



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



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

ถ้าไม่ได้ประมวลผลใน php แสดงว่าตอนคำนวนใน javascript ผลลัพธ์ผิดพลาดครับ
ลองเปลี่ยนสถานะจาก hidden เป็น text แล้วดูการเปลี่ยนแปลงระหว่างคำนวณดูครับ
จะได้รู้ว่าเกิด 0 ขึ้นตอนไหน






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-01 09:01:27 By : {Cyberman}
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : {Cyberman} เมื่อวันที่ 2015-12-01 09:01:27
รายละเอียดของการตอบ ::
ขอบคุณครับ ผมลองดูแล้ว มันน่าจะเกิดตอนกด submit ครับ เพราะตอนโชว์ text ก็ยังคงคำนวณถูกอยู่

ลองเทส1

ลองเทส2


ทั้งๆที่ด้านบนผมแค่รับค่ามาแสดงเท่านั้นเอง มันเพิ่มเลข 0 ให้ตามจำนวนสินค้าอันนี้ผมเครียดมาหลายวันแล้วครับ



ประวัติการแก้ไข
2015-12-01 21:55:03
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-01 21:53:15 By : lovehinatava
 

 

No. 3



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



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


เจอคำตอบแล้วครับ ขอบคุณมากครับ ต้องใส่ parseInt ตอนจบด้วย นึกว่า parseInt ตอนคำนวณไปแล้วก็ไม่ต้องใส่ตอนส่ง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-01 22:40:55 By : lovehinatava
 

   

ค้นหาข้อมูล


   
 

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