我希望这样,当人们在我的表单中进行选择时,他们所做的选择会在提交表单后保留,或者如果表单中有错误,则提交的字段仍会显示他们的选择。我已经尝试了很多东西并且无法使其发挥作用。我在Stackoverflow上查找了大约30分钟,但无法找到答案。
<form action="article_rating.php" method="post" class="formbox2"><table class="borderie" width="100%" align="center">
<?php
$ratingarray = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'Make a Selection');
?>
<p><tr><td align="left"><label for="readable" class="label">Readability Factor- Indicate if you feel this is article is easily readable</label></td><td align="right"><select name="readable">
<?php
foreach($ratingarray as $value){
echo '<option value="'.$value .'"';
echo ' selected="selected"';
echo '>' . $value . '</option>';
}
?>
</select>
</td></tr></p>
<p><tr><td align="left"><label for="originality" class="label">Originality Factor- Indicate how original you feel this article is.</label></td><td align="right"><select name="originality">
<?php
foreach($ratingarray as $value){
echo '<option value="'.$value .'"';
echo ' selected="selected"';
echo '>' . $value . '</option>';
}
?>
</select></td></tr></table></form>
答案 0 :(得分:1)
不要为每个选项回复selected="selected"
。使用if
条件查看先前是否提供了每个字段的值,并且只有当循环的当前迭代中的值匹配时才选择echo。
示例(假设您要发布到同一页面):
// In your loop
if (isset($_POST['readable'] && $_POST['readable'] == $value) {
// echo selected
}