如何在禁用 JavaScript 的情况下维护下拉列表的持久性状态 - PHP
How to Maintain Persistence State of a Dropdown with JavaScript Disabled - PHP
我正在用PHP进行一些表单编码,当启用JavaScript时,我一切都运行良好。 但是从过去的经验和当JavaScript被禁用时其他网站表现不佳的糟糕经验来看,我想我会在当前的项目中更加关注它。
关于input type="text"
POST 字段,这不是问题。 但是对于我碰巧使用的下拉菜单,我无法让它持续存在。 好吧,我可以,但是默认选择不正确。 这是一些代码...
基本下拉结构:
<select id="topic" name="topic">
<option value="Select an option">Select an option</option>
<option value="Topic A">Topic A</option>
<option value="Topic B">Topic B</option>
<option value="Topic C">Topic C</option>
</select>
我想也许如果我selected
与 POST 数据混合,我可以让它像这样工作:
<select id="topic" name="topic">
<option selected="selected" value="Select an option">Select an option</option>
<option value=""><?php echo $_POST['topic']; ?></option>
<option value="Topic A">Topic A</option>
<option value="Topic B">Topic B</option>
<option value="Topic C">Topic C</option>
</select>
但它不会持续存在;它只会回到默认值"选择一个选项"。
尝试此操作也不起作用:
<select id="topic" name="topic">
<option value="Select an option">Select an option</option>
<option selected="selected" value=""><?php echo $_POST['topic']; ?></option>
<option value="Topic A">Topic A</option>
<option value="Topic B">Topic B</option>
<option value="Topic C">Topic C</option>
</select>
它仍然存在,但没有正确的默认值。 开头为空白(因为尚未输入开机自检)。
我已经做了一些谷歌搜索,并没有真正找到任何对这种事情非常有用的东西,所以我不确定下一步该去哪里。 有什么想法/建议吗?
提前非常感谢!
我通常会做如下事情:
<select id="topic" name="topic">
<option value="Select an option">Select an option</option>
<?php
$topics=Array("Topic A","Topic B","Topic C");
foreach($topics as $topic){
echo '<option value="'.$topic.'"'.($_POST['topic']==$topic?' selected="selected"':'').'>'.$topic.'</option>';
}
?>
</select>
这样做是按照您的描述打印出选择框,但它会将 selected="selected" 属性添加到与您的 $_POST 变量匹配的选项中。
<?php
$topic='';
if isset($_POST)
if is_array($_POST)
if isset($_POST['topic'])
$topic=$_POST['topic'];
?>
<select id="topic" name="topic">
<option value="Select an option">Select an option</option>
<option value="Topic A"<?php if($topic=='Topic A') echo ' selected="selected"'; ?>>Topic A</option>
<option value="Topic B"<?php if($topic=='Topic B') echo ' selected="selected"'; ?>>Topic B</option>
<option value="Topic C"<?php if($topic=='Topic C') echo ' selected="selected"'; ?>>Topic C</option>
</select>
相关文章:
- 如何使用jQuery选择下拉列表的值
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- Javascript按钮下拉列表
- jQuery表单添加不适用于下拉列表
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 禁用jQuery中的下拉列表
- 如何在按钮中显示下拉列表中选定的元素
- 如何在从多选下拉列表中选择选项值时动态生成文本框
- 如何使用PHP和JS级联三个下拉列表
- 如何在使用剑道 MVVM 下拉列表时强制选择第一项
- 语义ui如何使用javascript启用或禁用下拉列表
- 无法使用PHP动态设置下拉列表中的值
- 如何根据对具有多行的先前列表的选择来动态加载下拉列表
- 下拉列表在使用z索引放置在前面后停止工作
- 从多维嵌套json数组创建下拉列表
- 如何在剑道下拉列表中按文本和值搜索
- 使用下拉列表筛选列表(ul>li)
- 如何使用jquery从下拉列表(javascript)中选择192.168.3.0进行测试自动化
- 使用codeigniter的多链下拉列表
- 如何在禁用 JavaScript 的情况下维护下拉列表的持久性状态 - PHP