ie支持的html元素的disable在netscape4.76中的实现
ie支持的html元素的disable在netscape4.76中的实现
1. 相关的html元素
(1) text , edit , password , textarea
(2) radio , checkbox
(3) select
2. ie中的写法
(1) document.form_name.text_name.disabled = true;
document.form_name.edit_name.disabled = true;
document.form_name.password_name.disabled = true;
document.form_name.textarea_name.disabled = true;
(2) document.form_name.radio_name.disabled = true;
document.form_name.checkbox_name.disabled = true;
(3) document.form_name.select_name.disabled = true;
3. netscape4.76中的写法
(1) document.form_name.text_name.disabled = true;
document.form_name.edit_name.disabled = true;
document.form_name.password_name.disabled = true;
在相应的text , edit , password , textarea 元素上添加对focus事件处理的方法:onfocus=”disableelements(this)”
function disableelements(obj)
{
if(obj.disabled)
{
obj.blur();
}
}
(2) document.form_name.radio_name.disabled = true;
document.form_name.checkbox_name.disabled = true;
在相应的radio , checkbox元素上添加对mousedown事件处理的方法:onclick=”return disableelements(this)”
function disableelements(obj)
{
if(obj.disabled)
{
obj.checked=false;
return false;;
}
}
(3) document.form_name.select_name.disabled = true;
在相应的select元素上添加对change事件进行处理的方法:onchange=”disableelements(this)”
function disableelements(obj)
{
if (obj.disabled)
{
for (var i=0; i<obj.options.length; i++)
{
obj.options.selected = obj.options.frozenstatus;
(obj.options.selected = false;这样写也可以.)
}
}
}
最后我附上一个例子,这个例子在ie6.0和netscape4.76下测试通过!
<html>
<body>
<form>
<br>test:<input type="text" name="t1" onfocus="disabletext(this)">
<br>edit:<input type="edit" name="t2" onfocus="disableedit(this)">
<br>textarea:<textarea name="t3" onfocus="disabletextarea(this)"></textarea>
<br>password: <input type="password" name="t4" onfocus="disablepassword(this)">
<br>radiobutton: <input type="radio" name="t5" onmousedown="return disableradio(this)">
<br>checkbox: <input type="checkbox" name="t6" onclick="return disablecheck(this)">
<br>defaul disabled checkbox: <input type="checkbox" disabled name="t8" onmousedown="return disablecheck2(this)">
<br>select:
<select name="t7" onchange=" changeselect(this)">
<option> one
<option> two
<option> three
<option> four
</select>
<br><input type="button" value="enable/disable" onclick="change()">
</form>
</body>
</html>
<script language="javascript">
function disabletext(obj)
{
if(obj.disabled)
obj.blur();
}
function disableedit(obj)
{
if(obj.disabled)
obj.blur();
}
function disablepassword(obj)
{
if(obj.disabled)
obj.blur();
}
function disabletextarea(obj)
{
if(obj.disabled)
obj.blur();
}
function disableradio(obj)
{
if(obj.disabled)
{
obj.checked=false;
return false;
}
}
function disablecheck(obj)
{
if(obj.disabled)
{
obj.checked=false;
return false;
}
}
function disablecheck2(obj)
{
obj.disabled=true;
if(obj.disabled)
{
obj.checked=false;
return false;
}
}
function changeselect(obj)
{
if (obj.disabled)
{
for (var i=0; i<obj.options.length; i++)
{
//obj.options.selected = obj.options.frozenstatus;
obj.options.selected = false;
(这两种写法都是可以的)
}
}
}
function change()
{
document.forms[0].t1.disabled=!document.forms[0].t1.disabled;
document.forms[0].t2.disabled=!document.forms[0].t2.disabled;
document.forms[0].t3.disabled=!document.forms[0].t3.disabled;
document.forms[0].t4.disabled=!document.forms[0].t4.disabled;
document.forms[0].t5.disabled=!document.forms[0].t5.disabled;
document.forms[0].t6.disabled=!document.forms[0].t6.disabled;
document.forms[0].t7.disabled=!document.forms[0].t7.disabled;
document.forms[0].t1.value="";
document.forms[0].t2.value="";
document.forms[0].t3.value="";
document.forms[0].t4.value="";
document.forms[0].t5.checked=false;
document.forms[0].t6.checked=false;
document.forms[0].t7.value="";
for (var i=0; i<document.forms[0].t7.options.length; i++)
{
//document.forms[0].t7.options.selected = document.forms[0].t7.options.frozenstatus;
document.forms[0].t7.options.selected = false;
}
}
</script>