• 解决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();");
            }


  • 相关阅读:
    作业01(2020年10月10号)
    C语言I博客作业04
    C语言I博客作业03
    C语言I博客作业02
    第一次学c语言作业
    C语言I博客作业09
    C语言I博客作业08
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
  • 原文地址:https://www.cnblogs.com/jinweijie/p/1186524.html
Copyright © 2020-2023  润新知