JS .readOnly=="readonly"的判断错误

来源:百度知道 编辑:UC知道 时间:2024/06/23 02:34:41
<body>
<input type="text" readonly="readonly" size="10" />
<script language="javascript" type="text/javascript">
if(document.getElementById("email").readOnly=="readonly"){
window.alert("我爱你"); //不能弹出alert窗口
}
</script>
</body>
为什么弹不出来呢?
谢谢!
不过,
if(document.getElementById("email").readOnly){
window.alert("我爱你"); }
这就类似
if(x){
window.alert("我爱你");
}
如此,无论x=1,2,3...都能有alert弹出窗口了,
同理,无论readOnly值为哪个,都有alert窗口弹出,没啥条件限制了,
但我要在readOnly == "readonly"和readOnly != "readOnly"两种不同条件下做出判断啊?
原来,readOnly == "readonly" 对应 readOnly == true
readOnly != "readonly" 对应 readOnly == false
改为 if(readOnly == true) 就行了

在网页中有时候需要控制文本输入框的“输入状态”,一些关键属性是不能修改的,这个时候需要将文本输入框的readonly属性设置为False,在网页中可以使用
<input name="txt_name" type="text" readonly="readonly" id="txt_Status" name="txt_name" style="width:150px;" />
但是在JS中则不能食用txt_name.readonly="readonly"来设置该属性,由于JS是区分大小写的,所以,在调用该属性的时候,必须使用txt_name.readOnly=true来设置。
当然,网页文本框还有一个属性可以控制它的状态,disabled,这个属性也是限制用户修改文框的内容,只是这个属性设置为"disabled"后,C#的后台代码就无法获得这个控件的内容了。

改成
if(document.getElementById("email").readOnly){
window.alert("我爱你"); //不能弹出alert窗口
}

document.getElementById("email").readOnly 本身就是布尔值
为什么要加上==true呢

没必要把
if(true){}
写成
if(true==true){}