防止完全单击单选按钮

Dim*_*tri 1 html javascript jquery

这一直困扰着我一段时间.我试图阻止用户点击单选按钮,具体取决于用户是否有权访问.第一个解决方案是执行以下操作:

没有残疾人

<input type="radio" name="my_radio1" id="abc1" value="5">
<input type="radio" name="my_radio1" id="abc2" value="0">
<input type="radio" name="my_radio1" id="abc3" value="1" checked>
Run Code Online (Sandbox Code Playgroud)

残疾人预选

<input type="radio" name="my_radio2" id="abc1" onclick="return false;" value="5">
<input type="radio" name="my_radio2" id="abc2" onclick="return false;" value="0">
<input type="radio" name="my_radio2" id="abc3" onclick="return false;" value="1" checked>
Run Code Online (Sandbox Code Playgroud)

有残疾人,没有预先选择

<input type="radio" name="my_radio3" id="abc1" onclick="return false;" value="5">
<input type="radio" name="my_radio3" id="abc2" onclick="return false;" value="0">
<input type="radio" name="my_radio3" id="abc3" onclick="return false;" value="1">
Run Code Online (Sandbox Code Playgroud)

如下所示:http://jsfiddle.net/93CqR/6/

这适用于ALREADY选中的单选按钮,但不适用于尚未检查的框(如上面的示例3所示).这有什么已知的解决方法吗?

Chrome和IE的行为与此不同

ade*_*r11 6

您应该为不可选择的属性添加"禁用"属性.你真的不需要javascript.

http://jsfiddle.net/Ma6TA/

<input type="radio" name="my_radio2" id="abc1" value="5" disabled>
<input type="radio" name="my_radio2" id="abc2" value="0" disabled>
<input type="radio" name="my_radio2" id="abc3" value="1" checked disabled>
Run Code Online (Sandbox Code Playgroud)

更新我不知道这里的实际用例,但是如果你还没有,那么应该在服务器上进行实际的检查.使用javascript禁用或隐藏用户的输入将增强用户体验,但是一个邪恶的用户可以解决这些问题.