dポイントプレゼントキャンペーン実施中!

いつも利用させていただいております。
宜しくお願いします。

今、VS2005のASP.NETを使用してプログラミングをしているのですが
どうしてもタグの属性情報が取得できないため、ご存知の方が
おりましたら是非アドバイスを・・・と思い投稿させていただいています。

以下にソースを記載いたします

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>test</title>
<script language="javascript" type="text/javascript">
<!--
function test(){
alert(document.getElementById("Label1").getAttribute('Visible'));
}
// -->
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
<asp:Label ID="Label1" runat="server" Text="Label" Visible="true">
</asp:Label>
</div>
</form>
</body>
</html>

上記ソースで「getElementById("Label1").getAttribute('Visible')」と言う部分が今回のターゲットです。
通常のHTMLタグ(div,・・・・)ですとなんら問題なくそれぞれの属性を取得できるのですが、こと<asp: タグで始まる属性を取得しようとすると・・・
 ID→取得できました。
 text→取得できません。
 Visible→取得できません。

上記状態となってしまいます。

そこでご質問です。
・<asp:タグの属性は[getAttribute]で取得できないのでしょうか?
・もし、取得できない場合は、何とか[Visible]をOnClickイベントで
 "false"にしたいと考えています。

以上です。もしご存知の方がいましたら、なにとぞご教授の程
宜しくお願いします。

環境
 WindowXP
 VS2005 EnterPriseEdition
 SQLServer2005

A 回答 (1件)

aspタグ内の属性は クライアントスクリプトでは取得不能だと思います


aspタグはサーバ側で変換されて別のタグを吐くのでクライアントスクリプト側でその属性を取得するのは不能ですよ

実行時のページのソースを表示させて見ましょう
labelコントロールですと SPANタグに置換されているはずです

aspコントロールのボタンやHTMLのボタンでポストバックした際のサーバー側コードでなら取得できると思います

' 引数は省略しています
Sub Page_load( ... )
  IF IsPostBack and Label1.Visible = True then
    Label1.Text = "ポストバックされました"
  end if
End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!