注册 登录
编程论坛 JavaScript论坛

IE下关于用js控制disabled和readonly的问题

flybabyff 发布于 2009-10-14 13:10, 3607 次点击
大家好,我是个新手,想请教一个问题:
一个input框默认是disabled 并且是readonly,后面跟一个按钮,点击弹出对话框提示“是否要修改?”,点击确定后这个input框可以正常输入
我的代码是:
<html>
<form enctype="multipart/form-data" action="sign.php" method="post" name="moblie_act_form" id="moblie_act_form" >
<input type="text"  class="input" id="mobile" name="mobile" value="{$mobile}"  readonly="true" disabled="disabled">
<input type="button" value="修改" onClick="modify_phone()">   
</form>
</html>
<script language="JavaScript">
function modify_phone(){
    if(confirm("您确定要修改您的手机号码吗?")){
        document.moblie_act_form.mobile.readOnly = false;
        document.moblie_act_form.mobile.disabled = false;               
    }
    return true;
}
</script>

可是现在在IE下没有任何反映,想让大家给我看看是哪的问题~~谢谢!
9 回复
#2
xlsxm2009-10-14 18:11
复制你的代码,我运行了一下,完全符合你描述的情况。 你怎么没有反映?我用的是IE7
 
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
<html>  
<form enctype="multipart/form-data" action="sign.php" method="post" name="moblie_act_form" id="moblie_act_form" >  
<input type="text"  class="input" id="mobile" name="mobile" value="{$mobile}"  readonly="true" disabled="disabled">  
<input type="button" value="修改" onClick="modify_phone()">     
</form>  
</html>  
<script language="JavaScript">  
function modify_phone(){  
    if(confirm("您确定要修改您的手机号码吗?")){  
        document.moblie_act_form.mobile.readOnly = false;  
        document.moblie_act_form.mobile.disabled = false;                  
    }  
    return true;  
}  
</script>
#3
aspic2009-10-15 08:47
程序代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.
<html xmlns="http://www.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
 
<body>   
<form enctype="multipart/form-data" action="sign.php" method="post" name="moblie_act_form" id="moblie_act_form" >   
<input type="text"  class="input" id="mobile" name="mobile" value="{$mobile}"  readonly="true" disabled="disabled">   
<input type="button" value="修改" onClick="modify_phone()">      
</form>   
</html>   
<script language="javascript">   
function modify_phone(){   
    if(confirm("您确定要修改您的手机号码吗?")){   
        document.moblie_act_form.mobile.readOnly = false;   
        document.moblie_act_form.mobile.disabled = false;                    
    }   
    return true;   
}   
</script>  
</body>
</html>
确实可以
#4
xlsxm2009-10-15 15:25
代码没有问题,我估计,有可能是浏览器版本问题。请换个版本试试。
#5
flybabyff2009-10-19 10:19
这段代码在火狐下也是没有反映的,然后我把
document.moblie_act_form.mobile.readOnly = false;
document.moblie_act_form.mobile.disabled = false;     
改成
var mobile = document.getElementById('mobile');
mobile.disabled = '';//或者我改成mobile.disabled = false;
这样也不行。
我用的是IE6,那有没有其他的写法呢?
#6
aspic2009-10-19 11:18
我看在ie6和ff下都ok的
#7
flybabyff2009-10-19 14:29
找到原因了,我之前是由一个hidden值的name='mobile';和这个<input type="text"  class="input" id="mobile" name="mobile" value="{$mobile}"  readonly="true" disabled="disabled">  重名了
把下面这个改了一下名字就好了!!
又学会了!
#8
aspic2009-10-19 14:47
设置id就ok了~ id千万不要搞重复了 name重复倒没有什么大影响 但也跟取对象的方法有关
#9
xlsxm2009-10-19 15:45
呵,下次如果某段代码没有反应,扔掉无关的,直接测试发生错误的部分。。。
#10
flybabyff2009-10-19 16:07
好~~学习了!
1