我认为他们可以,但我没有把我的钱放在我的嘴(这么说)设置只读属性实际上似乎没有做任何事情。
我宁愿不使用Disabled,因为我希望选中的复选框与表单的其余部分一起提交,我只是不希望客户端能够在某些情况下更改它们。
我认为他们可以,但我没有把我的钱放在我的嘴(这么说)设置只读属性实际上似乎没有做任何事情。
我宁愿不使用Disabled,因为我希望选中的复选框与表单的其余部分一起提交,我只是不希望客户端能够在某些情况下更改它们。
当前回答
<input name="isActive" id="isActive" type="checkbox" value="1" checked="checked" onclick="return false"/>
其他回答
这就出现了一些可用性问题。
如果您想要显示一个复选框,但不让它与之交互,那么为什么还要使用复选框呢?
然而,我的方法是使用disabled(用户希望禁用的复选框不可编辑,而不是使用JS使启用的复选框无法工作),并使用javascript添加一个表单提交处理程序,在表单提交之前启用复选框。这样你就能把你的价值观公布出来。
是这样的:
var form = document.getElementById('yourform');
form.onSubmit = function ()
{
var formElems = document.getElementsByTagName('INPUT');
for (var i = 0; i , formElems.length; i++)
{
if (formElems[i].type == 'checkbox')
{
formElems[i].disabled = false;
}
}
}
你总是可以使用一个小图像,看起来像一个复选框。
只需使用如下所示的简单禁用标签。
<input type="checkbox" name="email" disabled>
@ (Model.IsEnabled) 使用此条件进行动态检查和取消检查,如果复选框已选中,则设置为只读。
<input id="abc" name="abc" type="checkbox" @(Model.IsEnabled ? "checked=checked onclick=this.checked=!this.checked;" : string.Empty) >
不,输入复选框不能为只读。
但是你可以用javascript把它们变成只读的!
通过防止用户以任何方式修改复选框,在任何时间的任何地方添加这段代码,使复选框像假设的那样为只读。
jQuery(document).on('click', function(e){ // check for type, avoid selecting the element for performance if(e.target.type == 'checkbox') { var el = jQuery(e.target); if(el.prop('readonly')) { // prevent it from changing state e.preventDefault(); } } }); input[type=checkbox][readonly] { cursor: not-allowed; } <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <label><input type="checkbox" checked readonly> I'm readonly!</label>
你可以在加载jQuery后的任何时候添加这个脚本。
它将适用于动态添加的元素。
它的工作原理是在页面上的任何元素上选择单击事件(发生在更改事件之前),然后检查该元素是否是只读复选框,如果是,则阻止更改。
为了不影响页面的性能,有太多的if。