เรื่อง Checkbox และส่งค่า Even ไปยังอีกหน้า ครับ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา เรื่อง Checkbox และส่งค่า Even ไปยังอีกหน้า ครับ

เรื่อง Checkbox และส่งค่า Even ไปยังอีกหน้า ครับ
อันนี้คือ code หน้าแรกครับ

ฝ่ายเอกชน (ไม่ได้ทำโปรแกรมที่ 1 ) (เมื่อคลิ๊ก Checkbox ของฝ่ายเอกชน) ในหน้า testn2.php Checkbox จะต้องถูก ติ๊กที่ โปรแกรมที่ 1 และหน้า testn3.php จะไม่แสดง จะข้ามไปทำที่หน้า testn4.php : ทำทุกหน้ายกเว้นหน้า testn3.php


ฝ่ายรัฐบาล (ไม่ได้ทำโปรแกรมที่ 2) (เมื่อคลิ๊ก Checkbox ของฝ่ายรัฐบาล) ในหน้า testn2.php Checkbox จะต้องถูก ติ๊กที่ โปรแกรมที่ 2 และหน้า testn4.php จะไม่แสดง ต้องไปทำที่หน้า testn3.php : ทำทุกหน้ายกเว้นหน้า testn4.php


testn1.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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test1</title>
<style type="text/css">
<!--
.style1 {color: #FF0000}
.style2 {
color: #FF0000;
font-weight: bold;
}
.style3 {color: #0000FF}
.style5 {color: #0000FF; font-weight: bold; }
-->
</style>
</head>
 
<body>
<form id="form1" name="form1" method="post" action="">
  <p>
    <input type="checkbox" name="checkbox" id="checkbox" />
    ฝ่ายเอกชน
  (ไ<span class="style1">ม่ได้ทำโปรแกรมที่ 1</span> ) (เมื่อคลิ๊ก Checkbox ของฝ่ายเอกชน) ในหน้า <span class="style2">testn2.php </span>Checkbox จะต้องถูก ติ๊กที่ <span class="style1">โปรแกรมที่ 1 </span>และหน้า <span class="style2">testn3.php</span> จะไม่แสดง จะข้ามไปทำที่หน้า <span class="style2">testn4.php : </span><span class="style5">ทำทุกหน้ายกเว้นหน้า testn3.php</span></p>
  <p>
    <input type="checkbox" name="checkbox2" id="checkbox2" />
  ฝ่ายรัฐบาล (<span class="style1">ไม่ได้ทำโปรแกรมที่ 2</span>) (เมื่อคลิ๊ก Checkbox ของฝ่ายรัฐบาล) ในหน้า<span class="style1"><strong> testn2.php</strong></span> Checkbox จะต้องถูก ติ๊กที่ <span class="style1">โปรแกรมที่ 2</span> และหน้า <span class="style2">testn4.php</span> จะไม่แสดง ต้องไปไปทำที่หน้า <span class="style2">testn3.php : </span><span class="style1"><strong><span class="style3">ทำทุกหน้ายกเว้นหน้า testn4.php</span><br />
  </strong></span><br />
  <br />
  </p>
  <p><br />
  </p>
  <p>
    <input type="submit" name="button" id="button" value="บันทึก" />
    <em>บันทึกลงฐานข้อมูลก่อนว่าเป็นฝ่ายอะไรที่เข้ามาทำ</em></p>
</form>
</body>
</html>


 code หน้าที่สอง

testn2.php

ไม่ได้ทำโปรแกรมไหนจะติ๊กถูก เพื่อไห้ Radio Disble และไม่สามารถเอาออกได้



<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test2</title>
<style type="text/css">
<!--
.style1 {
color: #FF0000;
font-weight: bold;
}
-->
</style>
</head>
 
<body>
<form id="form1" name="form1" method="post" action="">
  <p class="style1">ไม่ได้ทำโปรแกรมไหนจะติ๊กถูก เพื่อไห้ Radio Disble และไม่สามารถเอาออกได้</p>
  <p>
     <input type="checkbox" name="first" value="Disable" onClick="setCheck(this,'second');" id="checkbox1" />
    โปรแกรม 1 
    <input type="radio" name="radio" class="second" id="radio" value="radio" />
    <input type="radio" name="radio" class="second" id="radio2" value="radio" />
    <input type="radio" name="radio" class="second" id="radio3" value="radio" />
    <input type="radio" name="radio" class="second" id="radio4" value="radio" />
    <input type="radio" name="radio" class="second" id="radio5" value="radio" />
  </p>
  <p>
    <input type="checkbox" name="first" value="Disable" onClick="setCheck(this,'second2');" id="checkbox2" />
    โปรแกรม 2 
    <input type="radio" name="radio" class="second2" id="radio6" value="radio" />
    <input type="radio" name="radio" class="second2" id="radio7" value="radio" />
    <input type="radio" name="radio" class="second2" id="radio8" value="radio" />
    <input type="radio" name="radio" class="second2" id="radio9" value="radio" />
    <input type="radio" name="radio" class="second2" id="radio10" value="radio" />
  </p>
  <p>&nbsp;</p>
  <p>
    <input type="submit" name="button" id="button" value="Submit" />
    บันทึกลงฐานข้อมูล
  </p>
</form>
</body>
</html>
 
 
 
 
<script src="js/jquery-1.8.3.min.js"></script>  
 
<script type="text/javascript">
    $(document).ready(function () {
        
 
        
    });
    var setCheck = function(chkObj,cssObj){
        var i_check=$(chkObj).prop("checked");
        if(i_check==true){
            $("."+cssObj).prop("checked",false).attr('disabled', true);
        }else{
            $("."+cssObj).attr('disabled', false);
        }
    };    
</script>

 

 code หน้าที่สาม

testn3.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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style1 {font-size: 18px}
-->
</style>
</head>
 
<body>
<div align="center" class="style1">
  <p>โปรแกรมที่ 1</p>
  <p>&nbsp;</p>
  <form id="form1" name="form1" method="post" action="">
    <p>
      <input type="radio" name="radio" id="radio" value="radio" />
      <input type="radio" name="radio" id="radio2" value="radio" />
      <input type="radio" name="radio" id="radio3" value="radio" />
      <input type="radio" name="radio" id="radio4" value="radio" />
      <input type="radio" name="radio" id="radio5" value="radio" />
    </p>
    <p>
      <input type="submit" name="button" id="button" value="Submit" />
    บันทึกลงฐานข้อมูล
    </p>
  </form>
  <p>&nbsp;</p>
</div>
</body>
</html>
 

 code หน้าที่สี่

testn4.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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style1 {font-size: 18px}
-->
</style>
</head>
 
<body>
<div align="center" class="style1">
  <p>โปรแกรมที่ 2</p>
  <p>&nbsp;</p>
  <form id="form1" name="form1" method="post" action="">
    <p>
      <input type="radio" name="radio" id="radio" value="radio" />
      <input type="radio" name="radio" id="radio2" value="radio" />
      <input type="radio" name="radio" id="radio3" value="radio" />
      <input type="radio" name="radio" id="radio4" value="radio" />
      <input type="radio" name="radio" id="radio5" value="radio" />
    </p>
    <p>
      <input type="submit" name="button" id="button" value="Submit" />
    บันทึกลงฐานข้อมูล
    </p>
  </form>
  <p>&nbsp;</p>
</div>
</body>
 
</html>

รบกวนช่วยผมด้วยนะครับ T^T

หรือพี่นิกมีแนวทางอื่น ง่าย ๆ รบกวนด้วยครับบ ขอบคุนมากครับ ..


Hanakobz112 17-09-2014 10:33:30

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
เป็นแนวทาง 
step1.php


 <form id="form1" name="form1" method="post" action="step2.php">
  <p>
    <input type="checkbox" name="sector" value="1">
    ฝ่ายเอกชน
  </p>
    <p>
    <input type="checkbox" name="sector2" value="2">
  ฝ่ายรัฐบาล 
  </p>
  <p>
    <input type="submit" name="button" id="button" value="บันทึก" />
    <em>บันทึกลงฐานข้อมูลก่อนว่าเป็นฝ่ายอะไรที่เข้ามาทำ</em></p>
</form>   



step2.php

<form id="form1" name="form1" method="post" action="">
  <p class="style1">ไม่ได้ทำโปรแกรมไหนจะติ๊กถูก เพื่อไห้ Radio Disble และไม่สามารถเอาออกได้</p>
  <p>
     <input type="checkbox" name="first" value="Disable" onClick="setCheck(this,'second');" id="checkbox1" <?=($_POST['sector']==1)?" checked":""?> <?=($_POST['sector']==1)?" disabled":""?> />
    โปรแกรม 1 
    <input type="radio" name="radio" class="second" id="radio" value="radio" <?=($_POST['sector']==1)?" disabled":""?> />
    <input type="radio" name="radio" class="second" id="radio2" value="radio" <?=($_POST['sector']==1)?" disabled":""?> />
  </p>
  <p>
    <input type="checkbox" name="first" value="Disable" onClick="setCheck(this,'second2');" id="checkbox2" <?=($_POST['sector2']==2)?" checked":""?> <?=($_POST['sector2']==2)?" disabled":""?> />
    โปรแกรม 2 
    <input type="radio" name="radio" class="second2" id="radio6" value="radio" <?=($_POST['sector2']==2)?" disabled":""?> />
    <input type="radio" name="radio" class="second2" id="radio7" value="radio" <?=($_POST['sector2']==2)?" disabled":""?> />
  </p>
  <p>&nbsp;</p>
  <p>
    <input type="submit" name="button" id="button" value="Submit" />
    บันทึกลงฐานข้อมูล
  </p>
</form>


ninenik 17-09-2014
 ความคิดเห็นที่ 2

ขอบคุนครับพี่นิก

 

แล้ว แบบ page ละครับ

 

สมมติผม ติ๊ก โปรแกรมที่ 1 หน้านั้นจะไม่โชว์ ไห้ข้าม เลย อะครับ


2 เงือนไข เลยย

 

T^T


 



hanakobz112 17-09-2014 12:56
 ความคิดเห็นที่ 3
UPDATE !


hanakobz112 19-09-2014 08:37
 ความคิดเห็นที่ 4
ในไฟล์ ที่สองก็ใช้ php check เงื่อนไขธรรมาดาไม่ใช่หรอ

<?php
$step_page="";
if($_POST['sector']==1){
    $step_page="step4.php";
}
if($_POST['sector2']==2){
    $step_page="step3.php";
}
?>
<form id="form1" name="form1" method="post" action="<?=$step_page?>">
..........
......
...

พยายามฝึกเขียน php ลองเล่นการใช้งาน if else  ให้คล่อง
รวมทั้งการใช้งาน php กับการแสดงข้อมูลใน html แบบที่ใช้รวมกัน
เราจะได้เข้าใจง่ายขึ้น  


ninenik 19-09-2014
 ความคิดเห็นที่ 5

อ๋อออ  ..  ขอถามพี่ นิคอีกทีครับ อย่าว่าผมโง่ เลยครับ T^T

 

 แล้ว ถ้า ไห้ "sector1"  ไปหน้า 1 แล้ว (กดบันทึกลง database เสร็จ)แล้ว ข้ามไป 3 เลยอะครับ ต้องเพิ่ม เงือนไขอะไรไหมครับ (โดยไม่ทำหน้า 2 )

"sector2" ไปหน้า 2 แล้วไป 4 (โดยไม่ทำหน้า 1 กับ 3 อะครับ)



hanakobz112 19-09-2014 11:20
 ความคิดเห็นที่ 6
การเปลี่ยนไปไฟล์อื่นหลังจากบันทึกข้อมูลแล้ว ทำได้หลายวิธี 

ตัวอย่างหน้าบันทึก เอาโค้ตนี้ใส่ไว้ด้านบน

<?php
if($_POST['submit']){
	///  คำสั่งบันทึกฐานข้อมูล
	header("Location:xxx.php");
	exit;
}
?>


พอบันทึกข้อมูลเสร็จ ก็ให้ลิ้งค์ไปที่ชื่อไฟล์ บางไฟล์ที่ต้องการ เช่น xxx.php

แนะนำ ถ้าเพิ่งเขียนโปรแกรม หรือเพิ่งมาใช้งาน php ต้องฝึกเยอะๆ เพราะเวลาเขียนจริงๆ
จะเจอปัญหาที่ต้องแก้ตามตลอด ไม่มีสูตรตายตัวในการแก้ปัญหา 


ninenik 19-09-2014
 ความคิดเห็นที่ 7

ะ แบบนี้ ถ้าผมจะติ๊ก ช่องเพิ่มมา เปน 6 ช่อง โดยที

 

checkbox 1 เมื่อติ๊กแล้ว  >> สามารถตอบแบบสอบถามหน้า 1,2,3,5,6 ได้

checkbox 2 เมื่อติ๊กแล้ว  >> สามารถตอบแบบสอบถามหน้า  2,3,4 ได้

checkbox  3 เมื่อติ๊กแล้ว  >> สามารถตอบแบบสอบถามหน้า 1,2,3,5 ได้

checkbox  4 เมื่อติ๊กแล้ว  >> สามารถตอบแบบสอบถามหน้า 1,3,5,6  ได้


checkbox  5 เมื่อติ๊กแล้ว  >> สามารถตอบแบบสอบถามหน้า 1,3  ได้

(ทั้งหมดมี 6 หน้า)

(โดยพอเวลากด next จะบันทึกข้อมูลที่กรอกแต่ละหน้า แบบนี้จะทำยังไงดีครับ ไห้มัน ข้ามหน้าไป)

ผมควรเก็บค่า Status  1.2.3.4.5 แต่ ละ checkbox เป็น database แล้ว เอาไปเชคกับ ทุก ๆ หน้าหรือ ครับ




hanakobz112 19-09-2014 15:31
 ความคิดเห็นที่ 8
ลองใช้ไฟล์บันทึกข้อมูล แค่ไฟล์เดียว
แล้วใช้ if else ตรวจสอบค่าที่ส่งมา เป็นตัวกำหนดเงื่อนไข การลิ้งค์ไปหน้าอื่น
เช่นตั้งชื่อว่าไฟล์ save.php
 
<?php
if($_POST['submit']){
	if($_POST['sector']==1){
		$step_page="step4.php";
	}
	if($_POST['sector2']==2){
		$step_page="step3.php";
	}	
	if($_POST['sector2']==3){
		$step_page="step4.php";
	}		
	///  คำสั่งบันทึกฐานข้อมูล
	header("Location:".$step_page);
	exit;
}
?>
 
พอบันทึกก็ยิงไปที่ไฟล์เดียว ส่งค่าไปตรวจสอบด้วย และลิ้งไปหน้า
ตางเงื่อนไข


ninenik 19-09-2014
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ