0

次のコードを使用して、 JavaScriptのメソッドでのTextプロパティの値を取得しようとしていますasp:labeldocument.getElementById

<asp:Label ID="lblThis" runat="server" Visible="False" Text="this is a label" />
<script type="text/javascript" language="javascript">
    var lblThis = document.getElementById('<%= lblThis.ClientID %>')
    var lblThisText = lblThis.innerText
    alert(lblThisText)
</script>

ページを開いても何も起こりません。私はJavaScriptの人ではないので、どこが間違っているのかわかりません。また、ここでプロパティを設定しようとはしていません。aの値asp:labelをjavascriptに読み込むだけです。

与えられたヒント、ポインタ、またはヘルプは大歓迎です。

アップデート

Mennanの回答に従って置き換えましVisible="false"たが、「undefined」というアラートが表示されます。正しい方向ですが、私はまだそこにいません。style="display:none"

アップデート

私は今、コードの作業チャンクを持っています。 innerText何もありませんでしたinnerHTMLが、正しい文字列がありました。正しいコード:

<asp:Label ID="lblThis" runat="server" style="display:none" Text="this is a label" />
<script type="text/javascript" language="javascript">
    var lblThis = document.getElementById('<%= lblThis.ClientID %>')
    var lblThisText = lblThis.innerHTML
    alert(lblThisText)
</script>
4

2 に答える 2

3

使用する

<asp:Label ID="lblThis" runat="server" style="display:none" Text="this is a label" />

いいえ

Visible="False"
于 2012-06-29T14:59:04.713 に答える
1

スクリプトタグタイプでJavaScriptのスペルを間違えましたか?

<script type="text/javascript">

また、「Visible」属性を使用すると、コントロールはページに送信されません。スタイリングで「display:none」を使用するのと同じではありません。「display」のスタイルを「none」に設定する必要があります。そうすると、javascriptが要素を検索します。

于 2012-06-29T14:59:13.767 に答える