Tuesday, 15 July 2014

php - why an element is posted eventhough its unchecked? -



php - why an element is posted eventhough its unchecked? -

i using yii, want to submit form action. in action checkbox posted eventhough didn't checked it, , value of 1 always, here code:

<?php echo chtml::beginform(yii::app()->createurl('jobs/index2'), 'post'); ?> <div class="row"> <div class="col-sm-4 col-lg-3 blog-sidebar" > <div class="sidebar-module"> <h4 style="color:#d11f45">refine search</h4> <h4>division</h4> <div id="division"> <?php $i = 0; foreach ($model2 $m2){ if($m2['category']==('division')){ echo '<div class="checkbox"><label>'. chtml::checkbox("c".$i, false).$m2->tag .'</label></div>'; $i++; } } ?> </div> <hr> <h4>location</h4> <div id="location"> <?php foreach ($model2 $m2){ if($m2['category']=='location'){ echo '<div class="checkbox"><label>'. chtml::checkbox("c".$i, false, array('value'=>'hhhhhhhhhhh', 'uncheckvalue'=>'n')).$m2->tag .'</label></div>'; $i++;} } ?> </div> <hr> <?php echo chtml::ajaxsubmitbutton( 'search', array('jobs/index2'), array( 'update'=>'#jobslist', ) ); ?> </div> </div><!-- /.blog-sidebar --> <?php echo chtml::endform(); ?> <div class="col-sm-8 col-lg-9 blog-main" id="jobslist"> <?php echo $this->renderpartial('_index', array('model'=>$model)); ?> </div> </div> </div> </div> <script src="<?php echo yii::app()->request->baseurl; ?>/js/j.js"></script>

browser source:

<div class="span-19"> <div id="content"> <div class="row" style="border-top:thin #333 solid"> <img src="/patra/images/job-banner.jpg" width="100%"> </div> <form action="/patra/index.php/jobs/index2" method="post"> <div class="row"> <div class="col-sm-4 col-lg-3 blog-sidebar"> <div class="sidebar-module"> <h4 style="color:#d11f45">refine search</h4> <h4>division</h4> <div id="division"> <div class="checkbox"><label><input type="hidden" value="n" name="accouting"><input value="hhhhhhhhhhh" type="checkbox" name="accouting" id="accouting">accouting</label></div><div class="checkbox"><label><input type="hidden" value="n" name="finance"><input value="hhhhhhhhhhh" type="checkbox" name="finance" id="finance">finance</label></div><div class="checkbox"><label><input type="hidden" value="n" name="insurance"><input value="hhhhhhhhhhh" type="checkbox" name="insurance" id="insurance">insurance</label></div><div class="checkbox"><label><input type="hidden" value="n" name="hr training"><input value="hhhhhhhhhhh" type="checkbox" name="hr training" id="hr_training">hr training</label></div><div class="checkbox"><label><input type="hidden" value="n" name="information technology"><input value="hhhhhhhhhhh" type="checkbox" name="information technology" id="information_technology">information technology</label></div> </div> <hr> <h4>location</h4> <div id="location"> <div class="checkbox"><label><input type="hidden" value="n" name="lebanon"><input value="hhhhhhhhhhh" type="checkbox" name="lebanon" id="lebanon">lebanon</label></div><div class="checkbox"><label><input type="hidden" value="n" name="uae"><input value="hhhhhhhhhhh" type="checkbox" name="uae" id="uae">uae</label></div><div class="checkbox"><label><input type="hidden" value="n" name="saudi arabia"><input value="hhhhhhhhhhh" type="checkbox" name="saudi arabia" id="saudi_arabia">saudi arabia</label></div><div class="checkbox"><label><input type="hidden" value="n" name="united kingdom"><input value="hhhhhhhhhhh" type="checkbox" name="united kingdom" id="united_kingdom">united kingdom</label></div><div class="checkbox"><label><input type="hidden" value="n" name="united states"><input value="hhhhhhhhhhh" type="checkbox" name="united states" id="united_states">united states</label></div><div class="checkbox"><label><input type="hidden" value="n" name="eygpt"><input value="hhhhhhhhhhh" type="checkbox" name="eygpt" id="eygpt">eygpt</label></div><div class="checkbox"><label><input type="hidden" value="n" name="mohammad"><input value="hhhhhhhhhhh" type="checkbox" name="mohammad" id="mohammad">mohammad</label></div><div class="checkbox"><label><input type="hidden" value="n" name="hiiiiiiii"><input value="hhhhhhhhhhh" type="checkbox" name="hiiiiiiii" id="hiiiiiiii">hiiiiiiii</label></div><div class="checkbox"><label><input type="hidden" value="n" name="bvbvbvbvbv"><input value="hhhhhhhhhhh" type="checkbox" name="bvbvbvbvbv" id="bvbvbvbvbv">bvbvbvbvbv</label></div><div class="checkbox"><label><input type="hidden" value="n" name="tststststststs"><input value="hhhhhhhhhhh" type="checkbox" name="tststststststs" id="tststststststs">tststststststs</label></div> </div> <hr> <h4>status</h4> <div class="checkbox"><label><input type="hidden" value="n" name="permanent"><input value="hhhhhhhhhhh" type="checkbox" name="permanent" id="permanent"> permanent</label></div> <div class="checkbox"><label><input type="hidden" value="n" name="temporary"><input value="hhhhhhhhhhh" type="checkbox" name="temporary" id="temporary"> temporary</label></div> <hr> <h4>hours</h4> <div class="checkbox"><label><input type="hidden" value="n" name="fulltime"><input value="hhhhhhhhhhh" type="checkbox" name="fulltime" id="fulltime"> full-time</label></div> <div class="checkbox"><label><input type="hidden" value="n" name="parttime"><input value="hhhhhhhhhhh" type="checkbox" name="parttime" id="parttime"> part-time</label></div> <div class="checkbox"><label><input type="hidden" value="n" name="flexible"><input value="hhhhhhhhhhh" type="checkbox" name="flexible" id="flexible"> flexible</label></div> <hr> <h4>salary</h4> <div id="salary"> <select class="form-control" name="s" id="s"> <option value="">select salary</option> <option value="1000$">1000$</option> <option value="2000$">2000$</option> <option value="3000$">3000$</option> <option value="4000$">4000$</option> <option value="5000$">5000$</option> <option value="6000$">6000$</option> <option value="7000$">7000$</option> <option value="8000$">8000$</option> <option value="9000$">9000$</option> </select> </div> <input type="submit" name="yt0" value="search" id="yt0"> </div> </div><!-- /.blog-sidebar -->

why checkboxes posted action? , why thier values 1?

your code contains hidden elements, it's not clear why think need them:

<input type="hidden" value="n" name="hr training"> <input value="hhhhhhhhhhh" type="checkbox" name="hr training" id="hr_training">

each of hidden elements uses exact same name checkbox element.

the post array uses name attributes if 2 different elements share same name, post array not going create much sense. in other words, when see "hr training" in post array, how know if that's hidden element or checkbox?

each input should have unique name. "grouping" of radio/checkboxes exception , that's because grouping considered single info point.

example:

status: permanent or temporary? (note utilize of radio buttons because selection cannot both.)

<input type="radio" name="status" value="permanent" />: permanent <input type="radio" name="status" value="temporary" />: temporary

will give next results:

if "permanent" checked, info contain status=permanent if "temporary" checked, info contain status=temporary if neither checked, info not contain status @ all

meanwhile, demo browser source code shows problem describe not occuring. none of unchecked checkboxes part of serialized array.

http://jsfiddle.net/mhpvm/1/

php ajax post checkbox yii

No comments:

Post a Comment