如何防止选中复选框(不使用disable
)?
我试过
function nocheck() {
if(somevar.value>3){
alert("Not allowed");
document.getElementById('mybox').checked = false;
}
};
与
<input type="checkbox" name="mybox" id="mybox" value="test" onclick="nocheck();" />
但是这样,在弹出警告信息后仍会检查复选框。
编辑: 感谢评论/答案,我能够更接近解决方案但尚未解决问题 - 这段代码有什么问题? http://jsfiddle.net/9kS8E/1/
HTML
<div class="ez-checkbox">
<input type="checkbox" name="mybox" id="mybox" value="test" onclick="nocheck();" class="ez-hide">
</div>
JS
var user = { premium : false };
function nocheck() {
if(!user.premium){
return false;
} else {
return true;
};
};
答案 0 :(得分:3)
我想我不明白你的问题,但我认为你正在搜索这个,
<input type="checkbox" name="mybox" id="mybox" value="test" onclick="return false;" />
OR
HTML
<input type="checkbox" name="mybox" id="mybox" value="test" onclick="nocheck()" />
JS
function nocheck() {
if(somevar.value>3){
alert("Not allowed");
return false;
}else
return true;
};
答案 1 :(得分:0)
(1)保存变量中复选框的值[while&#34; click&#34;复选框的值将被更改]
(2)检查用户类型,
如果不是高级用户,请选中复选框的值。
否则无需更改复选框
(*)通过使用toggle:复选框已经检查过,我们不允许普通用户检查它。
小提琴:http://jsfiddle.net/aslancods/rQG3r/
<input type="checkbox" name="mybox" id="mybox" value="test" onclick="noCheck(event)" />
var user = { premium : true };
function nocheck(elem) {
var newValue = elem.checked;
if(!user.premium) {
alert("not allowed");
elem.checked = !newValue;// toggle value
} else {
alert(" allowed ");
}
};
答案 2 :(得分:-1)
您的代码也应该有效。 警报后它会被取消选中。 你可以在取消选中后表示警告。
if(somevar.value>3){
document.getElementById('mybox').checked = false;
alert("Not allowed");
}