我有一组复选框,当出现提交错误时,我需要对它们进行检查。如果没有选择,它会验证并显示一个错误,但如果它postback,则不会保持选中的框。
HTML
<div class="fieldBox">
<div class="label"><p class="bold">Special Needs</p></div>
<div class="field"><?php echo $snMessage; ?>
<input type="checkbox" id="none" value="None" name="sNeeds[None]" <?php echo(in_array('None',$sNeeds))?'checked="checked"':'';?> /><label for="none"> <span></span>None</label>
<input type="checkbox" id="IEP" value="IEP" name="sNeeds[IEP]" <?php echo(in_array('IEP',$sNeeds))?'checked="checked"':'';?> /><label for="IEP"><span></span>IEP</label>
<input type="checkbox" id="405" value="405" name="sNeeds[405]" <?php echo(in_array('405',$sNeeds))?'checked="checked"':'';?> /><label for="405"><span></span>405</label>
</div>
</div>
PHP
$sNeeds = array('None', 'IEP', '405');
//Check Special Needs
if(empty($_POST['sNeeds'])) {
$snMessage .= '<p class="errorClass">Required</p>';
}
我哪里错了?提前感谢您抽出时间!
// start session in your form page
<?php session_start(); ?>
<input type="checkbox" id="none" value="None" name="sNeeds[]" <?php echo(in_array('None',$_SESSION['form_values']))?'checked="checked"':'';?> /><label for="none"> <span></span>None</label>
<input type="checkbox" id="IEP" value="IEP" name="sNeeds[]" <?php echo(in_array('IEP',$_SESSION['form_values']))?'checked="checked"':'';?> /><label for="IEP"><span></span>IEP</label>
<input type="checkbox" id="405" value="405" name="sNeeds[]" <?php echo(in_array('405',$_SESSION['form_values']))?'checked="checked"':'';?> /><label for="405"><span></span>405</label>
在您的php代码中,在会话中保存$_POST,以防验证失败
<?php session_start();
if (validation_fails)
{
$_SESSION['form_values'] = $_POST['sNeeds'];
header("location: yourformpage.php");
}