การร้องขอข้อมูลจากการเลือก checkbox ด้วย AJAX ต้องแก้ตรงไหนหรือต้องใส่อะไรเพิ่มใครพอบอกได้บ้างครับ
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา การร้องขอข้อมูลจากการเลือก checkbox ด้วย AJAX ต้องแก้ตรงไหนหรือต้องใส่อะไรเพิ่มใครพอบอกได้บ้างครับ
การร้องขอข้อมูลจากการเลือก checkbox ด้วย AJAX ต้องแก้ตรงไหนหรือต้องใส่อะไรเพิ่มใครพอบอกได้บ้างครับ
Copy
get_chkarray2.php
<script type="text/javascript">
// วนลูป input ทุกตัวในฟอร์ม
forEach($E('check_form').getElementsByTagName('input'), function(item){
// เลือกเฉพาะรายการที่มี class = chkarray ตามที่กำหนดในฟอร์ม
if(item.className == 'chkarray'){
// กำหนด event เมื่อ click ให้กับ checkbox แต่ละตัว
$G(item).addEvent('click', doCheckClick)
};
});
</script>
<script type="text/javascript">
var doCheckClick = function(event){
var req = new GAjax();
req.send('chkarray.php' ,req.getRequestBody('check_form') ,function(xhr) {
$E('chk_result').value = xhr.responseText;
});
};
</script>
<form id="main_form" method="post" action="get_chkarray2.php">
<p><input type="text" id="chk_result" /></p>
</form>
<form id="check_form">
<?php
for($i = 0 ; $i < 10 ;$i++){
echo "<p><input type="checkbox" class="chkarray" name="check[]" value="$i" />$i</p> ";
}
?>
</form>
///////////////////////
chkarray.php
<?php
$r = 0;
if(isset($_POST[check])) foreach($_POST[check] AS $item){
$r = $r + $item;
}
echo $r;
?>
<script type="text/javascript">
// วนลูป input ทุกตัวในฟอร์ม
forEach($E('check_form').getElementsByTagName('input'), function(item){
// เลือกเฉพาะรายการที่มี class = chkarray ตามที่กำหนดในฟอร์ม
if(item.className == 'chkarray'){
// กำหนด event เมื่อ click ให้กับ checkbox แต่ละตัว
$G(item).addEvent('click', doCheckClick)
};
});
</script>
<script type="text/javascript">
var doCheckClick = function(event){
var req = new GAjax();
req.send('chkarray.php' ,req.getRequestBody('check_form') ,function(xhr) {
$E('chk_result').value = xhr.responseText;
});
};
</script>
<form id="main_form" method="post" action="get_chkarray2.php">
<p><input type="text" id="chk_result" /></p>
</form>
<form id="check_form">
<?php
for($i = 0 ; $i < 10 ;$i++){
echo "<p><input type="checkbox" class="chkarray" name="check[]" value="$i" />$i</p> ";
}
?>
</form>
///////////////////////
chkarray.php
<?php
$r = 0;
if(isset($_POST[check])) foreach($_POST[check] AS $item){
$r = $r + $item;
}
echo $r;
?>
Icenokoto
28-10-2014
01:26:32
คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา
โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ