2012-09-22 129 views
7

大家好,我有一个联系表和captcha在那里。我想保持提交表单后检查检查。我发布了文本框的值,它显示正确,但复选框不起作用。这是我的代码。提交表格后PHP保持复选框检查

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org /TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 

<body> 
<form action = "" name="frmSubmit" method="post"> 
<input type="checkbox" name="txtCheck" value="<?php echo $_POST['txtCheck'];?>" /><br /> 
<label>Name</label><br /> 
<input type="text" name="txtName" id="NameTextBox" value="<?php echo $_POST['txtName']; ?>" /> 
<br /> 
<label>E Mail</label><br /> 
<input type="text" name="txtEmail" id="EmailTextBox" value="<?php echo $_POST['txtEmail'];?>" /> 
<input name="BtnSubmit" type="submit" onclick="MM_validateForm('NameTextBox','','R','EmailTextBox','','R');return document.MM_returnValue" value="Send" /> 
</form> 
</body> 
</html> 

如何在提交表单后保留复选框。

回答

17

变化

<input type="checkbox" name="txtCheck" value="<?php echo $_POST['txtCheck'];?>" /><br /> 

<input type="checkbox" name="txtCheck" value="your value" <?php if(isset($_POST['txtCheck'])) echo "checked='checked'"; ?> /><br /> 

这将让选中复选框..

+0

是的,它是工作正常..感谢很多... – Rakesh

+2

如果复选框是在一个数组内? 'name =“txtCheck []”' – Beaniie

+1

'<?php if(in_array(“your_value”,$ _POST ['txtCheck']))echo“checked ='checked'”; ?>' – GeoGyro

1

如果提交的值不为空,那么checked="checked"属性添加到复选框:

<input type="checkbox" name="txtCheck" value="1" <?php if (!empty($_POST['txtCheck'])): ?> checked="checked"<?php endif; ?> /> 

但是,您可以离开value属性不变。

0
<input type="checkbox" name="txtCheck" <?php if($_POST['txtCheck']>0){ ?>checked="checked" <? }?> /> 
-1

试试这个:

$checked = ""; 
if ($_POST['txtCheck']) { 
    $checked = "checked"; 
    // May need to be "checked='checked'" for xhtml 
} 
<input type="checkbox" name="txtCheck" <?php echo $checked;?> /><br />