รบกวนสอบถาม เรื่อง การนำ javascript มาเช็คค่าว่างรวมกับ Radio Button
Code (JavaScript)
var op1 = document.getElementById("radionNo"+x+"_1");
var op2 = document.getElementById("radionNo"+x+"_2");
var op3 = document.getElementById("radionNo"+x+"_3");
ลอง alert ดู object แต่ล่ะตัวครับ ผมว่ามันน่าจะเป็นพวก null object น่ะครับ หรือไมก็ใช้ alert(op1.checked); มันเป็น true หรือ false น่าจะหาไม่ยากครับ
Date :
2015-10-27 22:02:42
By :
mr.win
ยังไม่เช็คค่าว่างไม่ได้อยู่ดีครับ
แก้ยังไงก็แก้ไม่ได้ T_T
Code (PHP)
<script language="javascript">
function fncSubmit()
{
if(document.form1.rdo1.checked == false
&& document.form1.rdo2.checked == false
&& document.form1.rdo3.checked == false
&& document.form1.rdo4.checked == false )
{
alert('โปรดเลือกคำตอบข้อ <?=$i;?> ');
return false;
}
document.form1.submit();
}
</script>
<table width="93%" height="194" border="0" align="center">
<tr>
<td height="10" align="left" valign="top">
<h4>
<?=$i;?>.
<input name="id[<?=$i;?>]" type="hidden" value="<?=$result["id"];?>" />
<?=$result["question"];?>
</div>
</h4></td>
</tr>
<tr>
<td width="18%" height="37"><input type="radio" name="c<?=$i;?>" id="rdo1"
value="1" >
<?=$result["c1"];?></td>
</tr>
<tr>
<td height="38"><input type="radio" name="c<?=$i;?>" id="rdo2" value="2" >
<?=$result["c2"];?></td>
</tr>
<tr>
<td height="39"><input type="radio" name="c<?=$i;?>" id="rdo3" value="3" >
<?=$result["c3"];?></td>
</tr>
<tr>
<td height="46"><input type="radio" name="c<?=$i;?>" id="rdo4" value="4" >
<?=$result["c4"];?>
<input name="answer[<?=$i;?>]" type="hidden" value="<?=$result["answer"];?>" />
</td>
</tr>
</table>
ประวัติการแก้ไข 2015-10-28 00:12:51
Date :
2015-10-28 00:12:12
By :
nine2014
ตัวอย่างเอาของจขกท มาปรับปรุง
Code (PHP)
<!DOCTYPE HTML>
<html>
<head>
<title>ThaiCreate.Com</title>
<meta charset="utf-8">
<script language="JavaScript">
function fncSubmit(){
var Rows = document.getElementsByClassName('for_checked');
var ln= Rows.length;
for(var x=0;x<ln;x++){
if (Rows[x].getAttribute('data-check')!='1'){
alert('Please select Answer No ' + Rows[x].getAttribute('data-id'));
return false;
}
}
}
function radioclick(i){
document.getElementById('radiochk'+i).setAttribute('data-check', 1)
}
</script>
</head>
<body>
<form name="frmMain" method="post" action="" OnSubmit="return fncSubmit();">
<table width="483" border="0">
<?php
for($i=1;$i<=10;$i++){
?>
<tr>
<td width="146">No <?=$i;?> </td>
<td width="110">
<input type="radio" name="radionNo<?=$i?>" data-id="<?=$i;?>"
class="for_checked" id="radiochk<?=$i?>"
onclick="radioclick(<?=$i?>)" value="1" > Option 1 </td>
<td width="110"><input type="radio" name="radionNo<?=$i;?>"
onclick="radioclick(<?=$i?>)" value="2" > Option 2 </td>
<td width="99"><input type="radio" name="radionNo<?=$i;?>"
onclick="radioclick(<?=$i?>)" value="3" > Option 3 </td>
</tr>
<?php
}
?>
</table>
<input type="hidden" name="hdnRows" value="<?=$i-1?>">
<input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>
ประวัติการแก้ไข 2015-10-28 03:35:07
Date :
2015-10-28 03:29:34
By :
NewbiePHP
ตอนนี้แก้ได้แล้วครับ ตามคุณ NewbieXYZ เลยครับ
ขอบคุณมากๆเลยครับ
แต่ติดปัญหาอันต่อมาคือ เวลากด Submit แล้วย้อนกลับมาหน้าเดิม ในปุ่ม Radio ยังเลือกอยู่ แต่พอกด Submit อีกครั้ง มันขึ้นว่าให้เลือก ปุ่ม Radio
ทั้งๆที่เลือกไว้อยู่แล้ว แค่กดย้อนกลับมา
Date :
2015-10-28 18:15:05
By :
nine2014
ถ้าย้อนกลับมา ต้องเช็คว่ามีการเช็คอยู่หรือไม่ ถ้ามีการเช็ค คุณต้องกำหนด data-check="1" ไว้ที่ option แรกด้วยครับ
Date :
2015-10-28 18:23:44
By :
NewbiePHP
มันเกี่ยวเนื่องกับ php ที่กำหนด attribute checked ให้กับ option ครับ
เมื่อ php กำหนดให้มีการ check ที่ ข้อนั้น ถึงจะใส่ data-check="1" ที่ option แรก
ถ้าคุณกำหนด data-check="1" โดยไม่มีการเช็ค ก็จะมองว่ามีการเช็ค แล้วเหมือนกัน
Date :
2015-10-28 21:42:25
By :
NewbiePHP
Load balance : Server 04