為網頁加上masterpage時,為了讓每個控制項的id是唯一的,所以在編譯後render出來的頁面,每個ASP控制項的id都會被附予新的id,在server端就沒這個困擾,但如是在client端就會發現這樣會取不到id...看到的解法是用"控制項id.ClientID"可以取得最終在頁面呈現上的id。

 

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="RadioButtonList.aspx.cs" Inherits="RadioButtonList" Title="Untitled Page" %>

 

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

 

<script type="text/javascript" >
function getRadioButtonList(){
  var radioObj = document.getElementById("<%=RadioButtonList1.ClientID %>");
  alert(radioObj.id);
  var radioList = radioObj.getElementsByTagName('input');

  for(var i = 0; i < radioList.length; i++)
  {
    if(radioList[i].checked)
    {
      alert(radioList[i].value);
    }
  }
  return false;
}

</script>

 

    <asp:RadioButtonList ID="RadioButtonList1" runat="server">
        <asp:ListItem>A</asp:ListItem>
        <asp:ListItem>B</asp:ListItem>
        <asp:ListItem>C</asp:ListItem>
    </asp:RadioButtonList>
    <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return getRadioButtonList();" />
</asp:Content>

arrow
arrow
    全站熱搜

    alen1985 發表在 痞客邦 留言(0) 人氣()