Javascript 是否基于复选框状态禁用控件?
我想在下面的HTML和javascript中禁用引用的控件,但它没有这样做。看起来很简单。我会错过什么Javascript 是否基于复选框状态禁用控件?,javascript,checkbox,Javascript,Checkbox,我想在下面的HTML和javascript中禁用引用的控件,但它没有这样做。看起来很简单。我会错过什么 <html xmlns="http://www.w3.org/1999/xhtml"> <head><title> </title> <script language="javascript" type="text/javascript"> function Disable(isDisable, controlID) {
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
</title>
<script language="javascript" type="text/javascript">
function Disable(isDisable, controlID) {
var objControl = document.getElementById(controlID);
if (objControl != null) {
objControl.disabled = isDisable;
}
}
</script>
</head>
<body>
<form name="form1" id="form1">
<input name="date?4" type="text" value="1/1/2011 12:00:00 AM" id="date?4" runat="server" style="border-color:Black;font-family:Arial;width:300px;"
/><input type="checkbox" style="font-family: Arial" onclick="Disable(this.checked, "date?4" );" >Disable
</form></body>
</html>
功能禁用(isDisable,controlID){
var objControl=document.getElementById(controlID);
if(objControl!=null){
objControl.disabled=可禁用;
}
}
使残废
您正在使用“内”封闭属性。您的onclick格式不正确:
onclick="Disable(this.checked, "date?4" );"
改用这个:
onclick="Disable(this.checked, 'date?4' );"
如果使用双引号(
“
)作为属性值分隔符,则不能在值内使用它们而不转义它们。应该在值内使用单引号(”
)。您的字符串被打断
onclick="Disable(this.checked, "date?4" );"
尝试:
onclick="Disable(this.checked, 'date?4' );"
此外,根据,字符“?”在HTML ID中无效。您的onclick中有双引号,因此它破坏了解析。更改:
onclick=“禁用(选中此项,“日期?4”);“
到
onclick=“禁用(this.checked,'date?4');“
我还必须在你的id中删除“?”才能让它在JSFIDLE中工作。我想有些浏览器可能不喜欢这样。为什么你的输入id中有问号?噢!!谢谢你的快速回复!!就是这样。真的吗?我一直在用“?”?“在身份证上有一段时间没有问题了。在ie、Chrome和FF中。@user259286我从未做过,但我有疑问,搜索了一下,找到了那个页面。