如果数据库中存在数据,我尝试只读取下拉列表。但即使我只读它,用户也可以更改我的意思是下拉值。所以我把它改成了残疾人。但在此,我提交后无法收到这些值。这是我的代码
<select name="sign" <?php echo empty($row['sign']) ? '' : 'readonly' ?> class="form-control">
<option value="<?php echo $row['sign']; ?>"><?php echo $row['sign']; ?></option>
<?php $m1 = mysqli_query($con, "SELECT * FROM signs");
while($m2 = mysqli_fetch_array($m1)) { ?>
<option value="<?php echo $m2['sign']; ?>"><?php echo $m2['sign']; ?></option>
<?php } ?>
</select>
我该如何解决?
答案 0 :(得分:0)
我认为问题是<?php echo empty($row['sign']) ? '' : 'readonly' ?>
也许你可以这样做<?php echo (empty($row['sign']) ? '' : 'readonly'); ?>
答案 1 :(得分:0)
一种解决方案是当您禁用它时,添加另一个具有相同名称和值的隐藏输入。
其他解决方案是阻止用户更改选择,有很多javascript选项,试试这个:
HTML:
<select id="my_select">
<option>Option 1</option>
<option>Option 2</option>
</select>
JS:
my_condition = true;
var lastSel = $("#my_select option:selected");
$("#my_select").change(function(){
if(my_condition)
{
lastSel.attr("selected", true);
}
});
$("#my_select").click(function(){
lastSel = $("#my_select option:selected");
});