解决dropdownlist 客户端disable以后postback得到值的问题

先说下情景,

可能是由于html关系,当input 的select在客户端disabled以后,post就不会将它的值送往服务器端。

这样会引发一个问题,当需要保存在dropdownlist的值,但客户端js又做了disable操作的时候,就会得不到。

解决方法:

在postback之前,将所有disabled dropdownlist的disable 属性置为false;

代码如下:aspx:
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"  >
< HTML >
  
< HEAD >
    
< title > ddl </ title >
    
< script  type ="text/javascript" >
    
        
var arrDisabledList = new Array();
    
        
function doBeforePostback(){
            
forvar i = 0; i < arrDisabledList.length; i++ ){
                document.getElementById( arrDisabledList[i] ).disabled 
= false;
            }
    
        }

        
        
function disableDll(){
            
var ddl = document.getElementById('<%=this.ddlList.ClientID%>');
            ddl.disabled 
= true;
            arrDisabledList.push( ddl.id );
        }

    
</ script >
  
</ HEAD >
  
< body >
    
    
< form  id ="Form1"  method ="post"  runat ="server" >
        
< asp:Button  id =btnPostBack  runat ="server"  Text ="Do Postback" ></ asp:Button >
        
< asp:DropDownList  id =ddlList  runat ="server" >
        
< asp:ListItem  Value ="1" > 1 </ asp:ListItem >
        
< asp:ListItem  Value ="2" > 2 </ asp:ListItem >
        
< asp:ListItem  Value ="3" > 3 </ asp:ListItem >
        
< asp:ListItem  Value ="4" > 4 </ asp:ListItem >
        
< asp:ListItem  Value ="5" > 5 </ asp:ListItem >
        
</ asp:DropDownList >


        
< input  type ="button"  onclick ="disableDll();"  value ="disable" ></ input >
     
</ form >
    
  
</ body >
</ HTML >

codebehind:

override   protected   void  OnInit(EventArgs e)
        
{
            
//
            
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
            
//
            InitializeComponent();
            
base.OnInit(e);

            
this.btnPostBack.Attributes.Add("onclick","doBeforePostback();");
        }


转载于:https://www.cnblogs.com/jinweijie/archive/2008/05/07/1186524.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值