日期:2014-05-16  浏览次数:20412 次

如何让html中的下拉框变成只读的?
<input type="text" name="txtAlvDate" /> 
<input type="text" name="txtDedDate" /> 
<select name="cmbDedRs"> 
<option value="1">1</option> 
</select> 
document.docForm.txtAlvDate.setAttribute("readonly", true, 0); //1 
document.docForm.txtDedDate.setAttribute("readonly", true, 0); //2 
document.docForm.cmbDedRs.setAttribute("readonly", true, 0); //3 

第一句话和第二句话能成功把text框设为只读的 
可是这句话应用在下拉框上就不行了,请问如何让下拉框也变成只读的呢?

------解决方案--------------------
document.docForm.cmbDedRs.disabled=true;//这样不也可以
------解决方案--------------------
写代码要写的规范一些,要加上id,name。
这里可以这样写
HTML code
<select name="cmbDedRs" id="cmbDedRs"> 
<option value="1">1 </option> 
</select> 
document.getElementById("cmbDedRs").disabled = true;

------解决方案--------------------
刚才没看清楚,你看看这样
JScript code

<input type="text" name="txtAlvDate" /> 
<input type="text" name="txtDedDate" /> 
<select name="cmbDedRs"  onchange="setDefault()"> 
<option value="1">1 </option> 
<option value="1">2</option> 
</select> 
<script type="text/javascript">
txtAlvDate.setAttribute("readonly", true, 0); //1 
txtDedDate.setAttribute("readonly", true, 0); //2 
var i=cmbDedRs.selectedIndex;//这里最好放到页面最下面
function setDefault() {
    cmbDedRs.selectedIndex=i;
}
//cmbDedRs.disabled=true;
</script>

------解决方案--------------------
不能用disabled,就在disabled之前把所选的值给一个隐藏域。
------解决方案--------------------
3楼说的对,获取控件最好用document.getElementById()来获取