正如标题所示,我有一个表格,一旦用户注册他就被迫编译,然后用户可以返回到该表格,显然屏幕上的表格将显示用户拥有的选择以前进行过的操作,现在,如果用户以前按下过该复选框,则启用该复选框,我在此处成功执行此代码,并且该复选框在所选屏幕上对我显示:
<input <?php if (!(strcmp($row_mostra_tabella_email['aut_privacy'],"S"))) {echo "checked=\"checked\"";} ?> type="checkbox" id="aut_privacy" type="checkbox" value="S" name="aut_privacy" >
问题是,如果我对禁用的命令执行相同的操作,则当用户按下Enter键时,我不会传递命令值=“ s”。
我只希望选中并禁用该复选框,我该怎么做?
答案 0 :(得分:0)
您已经发现,disable
元素时,它不会发送到服务器。
您可以添加一些元素来阻止用户交互。一个是样式属性pointer-events
,另一个是元素属性tabindex
如果输入元素具有样式属性pointer-events: none
,则用户无法通过单击(或触摸)鼠标来访问它。警告:如果输入中有标签,则标签也可以“单击”,在这种情况下,建议将两个标签都包装在具有该样式属性的<div>
中。
这将防止用户直接与元素进行交互,但是总会有选项卡。使用tabindex=-1
,以便复选框不会“ 参与顺序键盘导航”。
答案 1 :(得分:0)
在阅读了Dino的回答后,我意识到您的意思(我认为)。最简单的方法是将复选框显示为选中并禁用状态,然后添加具有正确名称和值的隐藏输入,这样用户就无法与复选框进行交互,但是会将值通过表单提交发送回php。如果这不是您的意思,那么您确实需要重写您的问题