การเช็คข้อมูลครบ แล้ว auto ใน Checkbox โดยไม่ต้องคลิก

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา การเช็คข้อมูลครบ แล้ว auto ใน Checkbox โดยไม่ต้องคลิก

การเช็คข้อมูลครบ แล้ว auto ใน Checkbox โดยไม่ต้องคลิก
สวัสดีค่ะ คือว่าถ้าต้องการเช็คข้อมูลว่า ถ้าuser กรอกข้อมูลครบ(ช่องที่จำเป็นต้องกรอก)  แล้วให้ติ๊ก checkbox อนุมัติโดยอัตโนมัติโดยที่ user ไม่ต้องมานั่งกด ต้องทำอย่างไรคะ  
อันนี้คือส่วนของ ปุ่ม checkbox ค่ะ
	echo '<input type="checkbox"  name="approveinfo[2]"  value="'.$approveflag1.'"  onClick="if (this.checked) this.value='Y'; else this.value='N';" '; echo $strshow; echo '>&nbsp;อนุมัติ&nbsp;&nbsp;&nbsp;';


Sudarat2536 110.77.229.xxx 03-07-2015 09:57:27

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

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


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


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

 ความคิดเห็นที่ 1
ใช้ jquery
อย่างแรกกำหนด id ให้กับ checkbox ไว้ใช้งาน
แล้ว กำหนด css class ให้กับรายการที่จำเป็นต้องกรอก

<div style="width: 100px;">
    <form action="" method="post">
    <input class="cs_data" name="name" type="text" id="name"  />  <br>
    <textarea class="cs_data" name="address" rows="4" id="address" ></textarea>  <br>
    <select class="cs_data" name="province" id="province" >  
    <option value="">เลือกจังหวัด</option>  
    <option value="กรุงเทพ">กรุงเทพ</option>  
    </select>  
    <input type="checkbox" name="approveinfo[2]" id="approveinfo" value="Y" 
    onClick="if (this.checked) this.value='Y'; else this.value='N';" />
    </form>
</div>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(function(){


    $(".cs_data").on("change",function(){
        var len_chkVal=$(".cs_data").length;
        var l=0;        
        $(".cs_data").each(function(i,k){
            if($(".cs_data").eq(i).val()!=""){
                l++;   
            }
            var chkTrue=(l==len_chkVal)?true:false;
            var chkVal=(l==len_chkVal)?"Y":"N";
            $("#approveinfo").prop("checked",chkTrue).val(chkVal);
        });
    });

})
</script>


ตัวอย่าง





ninenik 183.88.34.xxx 03-07-2015
 ความคิดเห็นที่ 2
แล้วถ้าจะเช็คจากหน้า js ที่กด sumit ล่ะคะ แบบพอกด submit แล้วให้ checkbox ที่ชื่อ XXX ติ๊ก อัตดนมัติทำอย่างไรคะ รบกวนด้วยค่ะ ^^!

	case "U" :
		case 'V' :
					if (document.fmain.f_riskyear.value=="") { alert("ไม่มีปี พ.ศ."); document.fmain.f_riskyear.focus(); return; }
					if (document.fmain.f_deptdesc.value=="") { alert("ไม่ระบุ กอง/ศูนย์/สำนัก"); document.fmain.f_deptdesc.focus(); return; }
					if (document.fmain.f_riskdate.value=="") { alert("ไม่ระบุ วันที่ระบุปัจจัยเสี่ยง"); document.fmain.f_riskdate.focus(); return; }
								if ((document.fmain.f_idtarget.value=="")&&(document.fmain.f_idactivity.value=="")) { alert("ไม่ระบุ ลักษณะผลกระทบที่อาจเกิดขึ้นกับกิจกรรมตามภารกิจของหน่วยงาน (เป้าหมายหรือกิจกรรม)"); document.fmain.chktarget0.focus(); return ; }
								if (document.fmain.f_desc.value=="") { alert("ไม่ระบุ เป้าหมายหรือกิจกรรม"); document.fmain.chktarget0.focus(); return ; }
								if (document.getElementById('tabsheet1').className=='displayoff')  document.getElementById('tabsheet1').className='displayon';
					        if ((document.fmain.chkint.checked==false)&&(document.fmain.chkext.checked==false)&&(document.fmain.chkboth.checked==false)) { alert("ไม่ระบุ ประเภทของสาเหตุ (ภายใน/ภายนอก)");  document.fmain.f_risksource.value=''; document.fmain.chkint.focus(); return ; }
								
								if (document.fmain.f_conttype.value=="") { alert("ไม่มี ที่มาของปัจจัยเสี่ยง"); document.fmain.f_conttype.focus(); return ; }
								if (document.fmain.f_risksubject.value=="") { alert("ไม่มี เรื่องปัจจัยเสี่ยง"); document.fmain.f_risksubject.focus(); return ; }

								if (document.getElementById('tabsheet2').className=='displayoff')  document.getElementById('tabsheet2').className='displayon';
								document.fmain.f_riskimpact.value="--";
										if  ((!document.fmain.chkO.checked)&&(!document.fmain.chkF.checked)) {
												alert("ไม่มี ประเภทของผลกระทบที่เกิด"); document.fmain.chkO.focus();  return;
										}
										strriskimpact="";
		 								if (document.fmain.chkO.checked)  strriskimpact="O"; else strriskimpact="-";
										if (document.fmain.chkF.checked)  strriskimpact+="F"; else strriskimpact+="-";
										document.fmain.f_riskimpact.value=strriskimpact;
					if (document.getElementById('tabsheet3').className=='displayoff')  document.getElementById('tabsheet3').className='displayon';
					if (document.fmain.f_result.value=="") { alert("ไม่ระบุ ความเสียหาย/ผลกระทบต่อการดำเนินงาน"); document.fmain.f_result.focus(); return; }
					if ((document.fmain.authapprove)&&(cmd=='V')) {
								chktrisktype="N";
								for (i=0;i<document.fmain.f_risktype.length;i  ) {
										if (document.fmain.f_risktype[i].checked) { chktrisktype='Y';  break; }
								}
							if (chktrisktype=='N') { alert("ไม่ระบุ Risk Type"); document.fmain.f_risktype[0].focus(); return; }
					}
						document.fmain.cmd.value=cmd;
								document.fmain.submit();
								break;


sudarat2536 110.77.229.xxx 03-07-2015 11:25
 ความคิดเห็นที่ 3
คือว่าจะต้องกดบันทึกก่อนเเล้วcheckbox ถึงจะขึ้น พอขึ้นเเล้ว user ก็จะบันทึกการอนุมัติอีกขั้นตอนหนึ่งค่ะ ^^


sudarat2536 110.77.229.xxx 03-07-2015 11:30
 ความคิดเห็นที่ 4
 

กำหนด id ให้กับ checkbox
ก่อนบรรทัด document.fmain.submit();  ก็ใส่คำสั่ง
 
document.getElementById("approveinfo").checked=true;
document.getElementById("approveinfo").value="Y";
document.fmain.submit();  
break; 


ninenik 183.88.34.xxx 03-07-2015
1






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