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 > เช็คข้อมูล Input จาก checkbox ก่อน submit ทำหน้าที่เป็นแบบประเมิน มีคำถามหลายๆข้อ แต่ละข้อมีคำตอบแบบ checkbox คะ



 

เช็คข้อมูล Input จาก checkbox ก่อน submit ทำหน้าที่เป็นแบบประเมิน มีคำถามหลายๆข้อ แต่ละข้อมีคำตอบแบบ checkbox คะ

 



Topic : 090038



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



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




เช็คข้อมูลInputจากcheckbox ก่อนsubmit ทำหน้าที่เป็นแบบประเมิน มีคำถามหลายๆข้อ แต่ละข้อมีคำตอบแบบ checkbox คะ อยากรู้วิธีเช็คว่าถ้ามีข้อไหนยังไม่ตอบก็ยัง submit ไม่ได้อะค่ะ

หน้าinterfaceคะ


Code (PHP)
<table width="80%" align="center">
  
   <?php 
        $i=1;
		

        $SQLQ = "SELECT     Question.QuestionID, Question.QuestionDetail, Question.QuestionType
FROM   Question INNER JOIN Standard ON Question.StandardID = Standard.StandardID  where Question.StandardID=".$StdId ;
		$resultQ = mssql_query($SQLQ);
		while($dataQ = mssql_fetch_array($resultQ))
		{
		
		 $arrq[$i] =  $dataQ['QuestionID'];
		 
		
		if($dataQ['QuestionType']==1)
		{
			
			
			?>
<tr bgcolor="#C5FCE6">
          <td height="46" colspan="2"><strong>คำถามข้อที่ 
          <?php  echo  $i++; ?>    
          </strong>:   <?php  echo   iconv('TIS-620','UTF-8',$dataQ['QuestionDetail']); ?>   </td>
</tr>
        <?php
	
		
		 $SQLC = "SELECT     Choice.ChoiceID, Choice.ChoiceDetail, Choice.ChoiceNumber, Choice.ChoicePoint
FROM         Question INNER JOIN
                      Standard ON Question.StandardID = Standard.StandardID INNER JOIN
                      Choice ON Question.QuestionID = Choice.QuestionID
					  where  Question.QuestionID=".$dataQ['QuestionID'] ;
		$resultC = mssql_query($SQLC);
		while($dataC = mssql_fetch_array($resultC))
		{
		 
		
		?>

                 
<tr  bordercolor="#00FFCC">
                <td width="672" height="46">
               <input type="radio" name="Ans<?php echo  $dataQ['QuestionID'];  ?>" id="Ans<?php echo $dataC['ChoiceNumber']; ?>" 
               value="<?php echo $dataC['ChoicePoint'].'/'.$dataC['ChoiceNumber']; ?>" />
                <?php  echo   iconv('TIS-620','UTF-8',$dataC['ChoiceDetail']); ?>                </td>
<td width="111" height="46" colspan="-2">&nbsp;</td>
</tr>

<?php
		
		 }
		}
		
		else
		{
		
		
			?>

		
		
		
        <tr bgcolor="#C5FCE6"> 
        <td height="46" colspan="2">คำถามข้อที่ 
          <?php  echo  $i++; ?>    :   <?php  echo   iconv('TIS-620','UTF-8',$dataQ['QuestionDetail']); ?>   </td>
  </tr>
         
		<tr align="left"  bordercolor="#00FFCC">
    <td height="46" colspan="2">
      <div align="center">
        <textarea name="Ans<?php echo  $dataQ['QuestionID'];  ?>" id="choice<?php echo  $dataQ['QuestionID'];  ?>" cols="130" rows="7">
        
        </textarea>
      </div></td>
  </tr>
		<p>
		  <?php
		}
		}

?>

</table>
<div align="center">
  
    <input type="submit" name="Submit" id="button" value="บันทึกการประเมิน"  /> 
 
</div>
  
</form>




Tag : PHP, Ms SQL Server 2008, JavaScript







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-01-30 15:44:26 By : Rainingtoring View : 2926 Reply : 13
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

ในกระทุ้เก่า ๆ ผมเคยมีทำพวกแบบทดสอบไว้เป็นตัวอย่างครับ ปัยหานี้น่าจะเกิดจากการสับสนพวกค่าตัวแปรครับ

เช่น

Code
<input type="radio" name="Ans<?php echo $dataQ['QuestionID']; ?>"


ข้อ 1 ก็น่าจะเป็น
<input type="radio" name="Ans1_1" ...
<input type="radio" name="Ans1_2" ...
<input type="radio" name="Ans1_3" ...
<input type="radio" name="Ans1_4" ...


ข้อ 2 ก็น่าจะเป็น
<input type="radio" name="Ans2_1" ...
<input type="radio" name="Ans2_2" ...
<input type="radio" name="Ans2_3" ...
<input type="radio" name="Ans2_4" ...







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-31 09:32:04 By : mr.win
 


 

No. 2



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



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


ขอบคุณคะ แบบทดสอบที่ทำมีจำนวนคำถามไม่แน่นอน แล้วเวลาเช็คว่าทำทุกข้อแล้วยัง ทำยังไงคะ เคยลองทำ จาวาสคริป แต่ติดเรื่องเรื่องแปร อาร์เรย์ งงๆ
ขอลิงค์ตัวอย่างหน่อยนะคะ ขอบคุณมากๆเลยคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-01 00:55:05 By : Rainingtoring
 

 

No. 3



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



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


ถามต่ออีกหน่อยนะครับ กำลังทำเกี่ยวกับการประเมินพอดีเลยครับ ถ้าเวลาเอาข้อมูลการประเมินตามข้อ ใครเป็นผู้ประเมิน ใครถูกประเมิน ลงใส่ตารางต้องเขียนยังไงครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-01 08:57:32 By : jaruwit
 


 

No. 4



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



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


งงนิดหน่อยคะ
คือแบบประเมินอันนี้ ท้ายสุดจะเก็บลงตารางคะแนนคะ ก็เก็บคะแนนแต่ละข้อ แล้วก็รหัสผู้ประเมิน ผู้ถูกประเมิน แล้วค่อยมา sum คะแนน ตามผู้ประเมินแต่ละคนทีหลังคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-04 15:50:36 By : Rainingtoring
 


 

No. 5



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

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

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

การตั้งชื่อ (name) radio button หากมันอยู่ในกลุ่มเดียวกัน หรือข้อเดียวกัน ให้ตั้งชื่อเป็นชื่อเดียวกันทั้งหมดครับ
เพราะถ้าหากตั้งไม่เหมือนกันแล้ว มันจะไม่มีความเกี่ยวพันกัน
คือสามารถทำ checked ได้ทั้ง 4 อัน ซึ่งไม่เป็นที่พึงประสงค์สำหรับ radio button (ต้องมีอันหนึ่งอันใดเท่านั้นที่ถูกเลือก)

HTML
<form action="" method="get">

<label><input type="radio" name="quiz1" /> Choice 1 for Quiz 1</label>
<label><input type="radio" name="quiz1" checked="checked" /> Choice 2 for Quiz 1</label>
<label><input type="radio" name="quiz1" /> Choice 3 for Quiz 1</label>
<label><input type="radio" name="quiz1" /> Choice 4 for Quiz 1</label>

<label><input type="radio" name="quiz2" /> Choice 1 for Quiz 2</label>
<label><input type="radio" name="quiz2" /> Choice 2 for Quiz 2</label>
<label><input type="radio" name="quiz2" /> Choice 3 for Quiz 2</label>
<label><input type="radio" name="quiz2" checked="checked" /> Choice 4 for Quiz 2</label>
<label><input type="radio" name="quiz2" /> Choice 5 for Quiz 2</label>

</form>


และเมื่อเราตั้งชื่อให้มันแล้ว การเข้าถึง "Array ของ radio button เหล่านั้น" (จริงๆ มันไม่ใช่ Array แต่ขอใช้คำนี้ เพื่อความเข้าใจง่าย) ด้วยจาวาสคริปต์ก็จะเข้าถึงได้ผ่านชื่อที่เราตั้งไว้

Code (JavaScript)
var form = document.form[0]; // สมมติว่า radio button เหล่านี้อยู่ใน form แรกของเพจ
var quiz1 = form.quiz1; // Array ของ radio button ของข้อ 1 (quiz1)

alert(quiz1.length); // จะได้ค่า 4

alert(form.quiz2.length); // จะได้ค่า 5

alert(quiz1[0].checked); // false (สถานะการ checked ของ radio button อันที่ 1)
alert(quiz1[1].checked); // true (สถานะการ checked ของ radio button อันที่ 2)



ประวัติการแก้ไข
2013-02-05 05:08:52
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-05 05:07:17 By : cookiephp
 


 

No. 6



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

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

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

ตัวอย่างเพิ่มจากการอธิบายก่อนหน้านี้ครับ

Code (PHP)
<!DOCTYPE html>
<html>
	<title>ตัวอย่างการตรวจสอบสถานะของ radio button</title>
	<body>
		<form action="" method="get">

			<div>
				<h3>Quiz 1</h3>
				<label><input type="radio" name="quiz1" value="1" /> Choice 1 for Quiz 1</label><br />
				<label><input type="radio" name="quiz1" value="2" /> Choice 2 for Quiz 1</label><br />
				<label><input type="radio" name="quiz1" value="3" /> Choice 3 for Quiz 1</label><br />
				<label><input type="radio" name="quiz1" value="4" /> Choice 4 for Quiz 1</label>
			</div>

			<div>
				<h3>Quiz 2</h3>
				<label><input type="radio" name="quiz2" value="1" /> Choice 1 for Quiz 2</label><br />
				<label><input type="radio" name="quiz2" value="2" /> Choice 2 for Quiz 2</label><br />
				<label><input type="radio" name="quiz2" value="3" /> Choice 3 for Quiz 2</label><br />
				<label><input type="radio" name="quiz2" value="4" /> Choice 4 for Quiz 2</label><br />
				<label><input type="radio" name="quiz2" value="5" /> Choice 5 for Quiz 2</label>
			</div>

			<div>
				<h3>Quiz 3</h3>
				<label><input type="radio" name="quiz3" value="1" /> Choice 1 for Quiz 3</label><br />
				<label><input type="radio" name="quiz3" value="2" /> Choice 2 for Quiz 3</label><br />
				<label><input type="radio" name="quiz3" value="3" /> Choice 3 for Quiz 3</label>
			</div>
			
			<input type="button" value="Submit" onclick="verify();" />
		
		</form>

		<script type="text/javascript">
		function verify() {
			var form = document.forms[0], // ฟอร์มแรกของเพจ
				i = 1; // จะใช้เพื่ออ้างถึง "กลุ่มของ radio button"
			while (true) {
				// เนื่องจากเราตั้งชื่อ "กลุ่มของ radio button" ในรูปแบบ "quiz" ตามด้วย ตัวเลข
				// เราจึงใช้ตัวแปรตัวเลขในการเข้าถึงพวกมันได้ด้วย form["quiz???"]
				var quiz = form["quiz" + i]; // Array ของ radio button ตามค่าของ i
				if (!quiz) { // ถ้าเป็น undefined นั่นหมายความว่าตรวจสอบครบทุกข้อแล้ว
					break; // ออกจากลูป while
				}
				i++; // เพิ่มค่า i ขึ้น 1
				var n = quiz.length; // จำนวนตัวเลือกของข้อนี้ (จำนวน radio button ในกลุ่มนี้)
				for (var j = 0; j < n; j++) { // วนลูปเพื่อตรวจสอบทุกตัวเลือก
					if (quiz[j].checked) { // ตัวว่าตัวเลือกที่ j นั้น มีสถานะใด
						break; // หากถูกเลือกแล้ว ก็ให้ออกจากลูป for
					}
				}
				if (j === n) { // หาก j มีค่าเท่ากับ n นั่นหมายความว่า ไม่มีตัวเลือกใดถูกเลือก
					alert("คุณยังทำแบบสอบถามไม่ครบทุกข้อ"); // แจ้งเตือน
					return; // ออกจากฟังก์ชั่น
				}
			}
			form.submit(); // ทำการ submit ฟอร์ม
		}
		</script>
		<pre><?php print_r($_GET); ?></pre>
	</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-05 05:46:35 By : cookiephp
 


 

No. 7



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

สงสัยผมจะตอบผิด สับสน นิดหน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-05 09:22:12 By : mr.win
 


 

No. 8

Guest


ขอบคุณคะ แต่คำถามที่ใช้ดึงมาจากฐานข้อมูลคะ ถ้าใช้ 1 2 3 จะตั้งชื่อยังไงให้รู้ว่าเป็นคำถามมข้อไหน

Code
<input type="radio" name="Ans26" id="Ans116" value="1/116" />
<input type="radio" name="Ans26" id="Ans117" value="2/117" />
<input type="radio" name="Ans26" id="Ans118" value="3/118" />
<input type="radio" name="Ans26" id="Ans119" value="4/119" />
<input type="radio" name="Ans26" id="Ans120" value="5/120" />





Code
AssessToID AssessorID AssID StandardID QuestionID ChoiceNumber ChoicePoint ------------------------------------------------------------------------------------------------------------------------------------------------ 990 642 9 18 26 116 1


เคยทำแบบว่าเก็บรหัสคำถามใส่ อาร์เรย์ แล้วส่งไปให้ จาวาสคริป เช็ค แต่เหมือนส่งค่าไปไม่ถูก alert แล้วไม่มีค่า เลยทำต่อไม่ได้ ไม่รู้จะทำยังไงคะ คือติดอยู่ที่ คำถาม คำตอบ มันมี ID หมดเลยคะ จะทำยังไงดี รบกวนอีกนิดนะคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-05 17:53:12 By : Raining
 


 

No. 9



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

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

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

ก็จากชื่อของ radio button ไงครับ

<input type="radio" name="Ans26" id="Ans116" value="1/116" />

Ans26 ก็คือคำตอบของคำถามข้อ 26 ไม่ใช่เหรอครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-06 06:13:03 By : cookiephp
 


 

No. 10



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



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


ใช่คะ เอาเลขนั้นส่งไป จาวาสคริปยังไงคะ เคยทำแล้วแต่ ไม่มีค่าในอาร์เรย์ เวลาส่งไป alert ที่ จาวาสคริป
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-06 08:18:17 By : Rainingtoring
 


 

No. 11



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

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

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

ทำไมต้องมี id ครับ มีการอ้างถึง input เหล่านี้ในรูปแบบอื่นหรือเปล่า

เพราะถ้าทำตามตัวอย่างที่ผมแสดงให้ดู มันจะเป็นการเข้าถึง <input type="radio" /> โดยไม่จำเป็นต้องกำหนด id

ลองรันตัวอย่างที่ผมทำไว้ให้ดูครับ แล้วศึกษาดู ผมคิดว่าคำตอบอยู่ในนั้นครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-06 08:57:18 By : cookiephp
 


 

No. 12



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



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


ค่าา ขอบคุณคะ จะลองประยุกต์ดู
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-06 10:00:51 By : Rainingtoring
 


 

No. 13



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



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


ขอบคุณมากๆๆ นะคะ คุณ น้องเปรม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-06 10:02:34 By : Rainingtoring
 

   

ค้นหาข้อมูล


   
 

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