我想在下面的HTML和javascript中禁用引用的控件,但它没有这样做。看起来很简单。我能错过什么?
<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>
答案 0 :(得分:1)
您的onclick格式错误:
onclick="Disable(this.checked, "date?4" );"
请改用:
onclick="Disable(this.checked, 'date?4' );"
如果使用双引号("
)作为属性值分隔符,则不能在值中使用它们而不转义它们。你应该在里面使用单引号('
)。
答案 1 :(得分:1)
您的字符串已损坏
onclick="Disable(this.checked, "date?4" );"
尝试:
onclick="Disable(this.checked, 'date?4' );"
此外,根据w3schools,'?'字符在HTML ID中无效。
答案 2 :(得分:1)
你的onclick中有双引号,所以它打破了解析。更改:
onclick="Disable(this.checked, "date?4" );"
至
onclick="Disable(this.checked, 'date?4' );"
我也不得不放弃'?'在你的id中让它在jsFiddle中工作。认为某些浏览器可能不喜欢这样。
答案 3 :(得分:0)
您正在使用“封闭”属性中的内容。