我有这个带有复选框的html表单,在提交表单并重新加载页面后,它们会检查或取消选中状态:
<form method="post" action="">
<input type="checkbox" name="keyword1" value="keyword1" <?php if(isset($_POST['keyword1'])) echo "checked='checked'"; ?> />keyword1
<input type="checkbox" name="keyword2" value="keyword2" <?php if(isset($_POST['keyword2'])) echo "checked='checked'"; ?> />keyword2
<input type="checkbox" name="keyword2" value="keyword3" <?php if(isset($_POST['keyword2'])) echo "checked='checked'"; ?> />keyword3
<input type="submit" />
</form>
问题是,在第一页加载时,取消选中复选框。是否有可能在开始时检查所有状态的复选框,然后在提交后保持其新状态?到目前为止,我无法弄清楚如何做到这一点。任何帮助将非常感激。谢谢,
答案 0 :(得分:1)
您可以使用$ _SESSION而不是$ _POST:
<input type="checkbox" name="keyword1" value="keyword1" <?php if(isset($_SESSION['keyword1'])) echo "checked='checked'"; ?> />keyword1
然后把它放在你文件的顶部:
session_start();
if (isset($_POST['my_form'])) {
if (isset($_POST['keyword1'])) {
$_SESSION['keyword1'] = 'checked';
}
}