<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框设为只读的
可是这句话应用在下拉框上就不行了,请问如何让下拉框也变成只读的呢?
<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框设为只读的
可是这句话应用在下拉框上就不行了,请问如何让下拉框也变成只读的呢?
不能用disabled,因为用了disabled,整个控件就等于消失了一样,form提交的时候,这个值就提交不到下一个页面
这里可以这样写
<select name="cmbDedRs" id="cmbDedRs">
<option value="1">1 </option>
</select>
document.getElementById("cmbDedRs").disabled = true;
<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>
虽然有人提出用hidden框来解决,这个提议很不错,但是我就是因为要再加个hidden框而感到烦恼,因为我
用的这个框架很繁琐,加一个hidden框,就要在另外几个java文件里多加8条左右的语句
而需要加hidden框的项目数量非常大,有20个左右,所以我希望能有其他方法:
1.除了用disabled
2.除了用hidden框
<style>
select{falcon:expression(selectedIndex=0)}
</style>
<select>
<option>1</option>
<option>2</option>
</select>
<select >
<option>1</option>
<option>2</option>
</select>
L@_@K
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD> <BODY>
<FORM METHOD="POST" name="docForm" ACTION="">
<input type="text" name="txtAlvDate" value="123" />
<input type="text" name="txtDedDate" value="abc" />
<select name="cmbDedRs">
<option value="1">1</option>
<option value="2" selected>2</option>
<option value="3">3</option>
</select>
<SCRIPT LANGUAGE="JavaScript">
<!--
document.docForm.txtAlvDate.setAttribute("readonly", true, 0); //1
document.docForm.txtDedDate.setAttribute("readonly", true, 0); //2
document.docForm.cmbDedRs.onfocus = function() {
this.blur();
};
//-->
</SCRIPT> </FORM>
</BODY>
</HTML>
<form name="docForm">
<input type="text" name="txtAlvDate" />
<input type="text" name="txtDedDate" />
<select name="cmbDedRs">
<option value="11">11 </option>
<option value="12">12 </option>
<option value="13">13 </option>
</select>
</form>
<br>
<input type=button onclick=setDis() value="确定">
<script language="javascript">
<!--
function setDis(){
with(document.docForm){
txtAlvDate.setAttribute("readonly", true, 0); //1
txtDedDate.setAttribute("readonly", true, 0); //2
}
with(document.docForm.cmbDedRs){
while(options.length!=1){
for (var i=0;i<options.length;i++)
if (!options[i].selected)removeChild(options[i])
}
}
}
//-->
</script>
</body>
select标签没有readonly属性,写了页白写。
改变的时候可以全部 disabled 掉.
提交的时候在改过来就可以了
引用:http://hi.baidu.com/zjmainstay0/blog/item/090fa50f6b96dad7a78669a9.html