OnClientClick='EncryptPWD("<%= txt_newpwd.ClientID %>","<%= txt_newpwd.ClientID %>")' 
我在按钮里面加了这样的事件
可是传递到JS的函数的时候,参数是
<%= txt_newpwd.ClientID %>" 的字符串
怎么样才能传递ID到JS呢?

解决方案 »

  1.   


    <script runat="server">
    </script>
    <script type="text/javascript">
        function getClientId()
        {
        var paraId1 = '<%= Button1.ClientID %>';//注册控件1
        var paraId2 = '<%= TextBox1.ClientID %>';//注册控件2
        return {Id1:paraId1,Id2:paraId2};//生成访问器
        }
    </script><script type="text/javascript" src="JScript.js"></script>//引用外部js
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Button" />
        <input id="Button2" type="button" value="button" onclick="ChangeText();" />
    </asp:Content>JScript.js
    function ChangeText()
    {
        var btn=document.getElementById(getClientId().Id1);
        btn.value="from extended js";
        var btn=document.getElementById(getClientId().Id2);
        btn.value="from extended js";
    }
      

  2.   

    在 .cs 文件中写button.OnClientClick=string.Format("EncryptPWD('{0}','{1}'", txt_newpwd.ClientID,txt_newpwd.ClientID );
      

  3.   

    你可以在JS的'EncryptPWD()里,获取服务器控件的ClientID,document.getElementById("<%=txt_newpwd.ClientID %>");
      

  4.   

    用JQuery
    可以写成
    var newID=$("#<%=txt_newpwd.ClientID %>")
    OnClientClick='EncryptPWD(' + newID +','+newID+');'