0

我想要一个表单在发生错误时记住用户的输入。我使用以下方法将其用于文本输入:

echo "<input id=\"quote_square\" type=\"text\" name=\"square\" placeholder=\"Square\" value=\"".  $_POST['square'] . "\">";

对于复选框,我无法让它工作。我确实找到了如何做到这一点的示例:

   <input type="checkbox" name="subscribe" <?php echo (isset($_POST['opdracht'])?'checked="checked"':'') ?> />

但是我将整个表单回显到 php 中并将复选框输入保存到数组中:

echo "<input id=\"quote_round\" type=\"text\" name=\"round\" placeholder=\"Round\" value=\"".  $_POST['round'] . "\">";
echo "<input id=\"quote_square\" type=\"text\" name=\"square\" placeholder=\"Square\" value=\"".  $_POST['square'] . "\">";
echo "<label class=\"checkbox\"><input type=\"checkbox\" name=\"opdracht[]\" value=\"Blue\">Blue</label>";
echo "<label class=\"checkbox\"><input type=\"checkbox\" name=\"opdracht[]\" value=\"Black\">Black</label>";
echo "<label class=\"checkbox\"><input type=\"checkbox\" name=\"opdracht[]\" value=\"Red\">Red</label>";
echo "<label class=\"checkbox\"><input type=\"checkbox\" name=\"opdracht[]\" value=\"White\">White</label>";

任何人都可以建议我如何获得复选框来保存用户的输入吗?

4

5 回答 5

0

尝试这个

<label class="checkbox"><input type="checkbox" checked= "<?php in_array('Blue', $deep['opdracht'])?'checked' :''; ?>" value="Blue">Blue</label>
于 2013-05-20T18:41:32.220 回答
0
   echo '<input type="checkbox" name="subscribe"' .($yourData['opdracht']?'checked="checked"':'').' />';
于 2013-05-20T18:27:16.883 回答
0

尝试

echo "<label class=\"checkbox\"><input type=\"checkbox\" ", 
    in_array("Blue", $_POST["opdracht"])?"checked='checked' ":"", 
    "name=\"opdracht[]\" value=\"Blue\">Blue</label>";
于 2013-05-20T18:34:19.547 回答
0

尝试这个:

echo isset($yourData['opdracht']) ? 'checked="checked"' : '';

喜欢

 <input type="checkbox" name="subscribe" <?php  echo isset($yourData['opdracht']) ? 'checked="checked"' : ''; ?> />
于 2013-05-20T18:34:50.397 回答
0

我不相信您正确使用了数组。这种数组引用用于提交相同数据的多个版本的情况。提交表单时会填写数组键,未选中的值不会被索引,因此您最终会得到不同大小的数组,具体取决于已选中的框数。将您的价值观分开将是有问题的。它需要是这样的;

echo "<input id=\"quote_round\" type=\"text\" name=\"round\" placeholder=\"Round\"     value=\"".  $_POST['round'] . "\">";
echo "<input id=\"quote_square\" type=\"text\" name=\"square\" placeholder=\"Square\" value=\"".  $_POST['square'] . "\">";
echo "<label class=\"checkbox\"><input type=\"checkbox\" name=\"opdrachtBlue\" value=\"Blue\">Blue</label>";
echo "<label class=\"checkbox\"><input type=\"checkbox\" name=\"opdrachtBlack\" value=\"Black\">Black</label>";
echo "<label class=\"checkbox\"><input type=\"checkbox\" name=\"opdrachtRed\" value=\"Red\">Red</label>";
echo "<label class=\"checkbox\"><input type=\"checkbox\" name=\"opdrachtWhite\" value=\"White\">White</label>";

然后,您可以使用

<input type="checkbox" name="subscribe" <?php echo (isset($_POST['opdrachtRed'])?'checked="checked"':'') ?> />

获取该复选框之前是否已被选中。

于 2013-05-20T18:35:04.430 回答