php - 提交后禁用选项
问题描述
我有 2 种颜色可供选择。
<select name="hoogte">
<? foreach ($hoogte_array as $hoogtekey => $valuehoogte) { ?>
<option value="<?echo $hoogtekey;?>" <? if ($hoogtekey == $_SESSION['laatstehoogte']){echo "selected";}?>><?echo $valuehoogte;?></option>
<?}
该值保持完美选择,没有任何问题。
提交后如何禁用其他选项?
有2种颜色。我选择一个,提交表格。值保持选中状态,其他选项被禁用。
谢谢。
解决方案
首先
你的代码格式真的很糟糕。
而不是<?echo
你可以使用<?=
. 也不建议使用短标签(<?
而不是<?php
),您不应使用它们。
第二
而不是if else
您可以使用在像您这样的情况下非常有用的简短版本。
所以而不是
if ($hoogtekey == $_SESSION['laatstehoogte']){echo "selected";}
你可以写
echo $hoogtekey == $_SESSION['laatstehoogte'] ? "selected" : "";
第三
如果您使用超全局变量,检查它是否存在总是一件好事null
。有一个函数叫做empty()
. 我建议使用它。它检查变量是否不存在或等于null
,false
等等。
最后
如果您想在选择后禁用其他选项,而不仅仅是disabled
向它们添加属性。
这是一个例子
<select name="hoogte">
<?php foreach ($hoogte_array as $hoogtekey => $valuehoogte) { ?>
<option value="<?= $hoogtekey; ?>" <?= !empty($_SESSION['laatstehoogte']) && $hoogtekey == $_SESSION['laatstehoogte'] ? "selected" : "disabled"; ?>><?= $valuehoogte;?></option>
<?php }
</select>
推荐阅读
- python - 子图,如何设置 xlabel 和 xlim,但删除轴
- discord.js - 如何将使用我的不和谐机器人的用户“全局”列入黑名单?
- c++ - 减少 if 块的 else if (true)
- c# - 与 ASP.Net MVC 和 Kendo Grid 的数据绑定
- python - 在 Conda 虚拟环境中运行 PIP 时有关未解决依赖项的错误消息
- javascript - Vue.js 在另一个中使用组件
- python - 使用 Python 从日志文件中获取小时频率表
- reactjs - 为什么颜色在 div 上显示为 HTML 属性?
- python - 使用 Matplotlib 是否可以从实时数据中注释最新的数据点?
- freemarker - 使用 Freemarker 提取键或字符串的一部分