3

フォームに非表示フィールドがあり、サーバーで非表示フィールドの値を設定し、JavaScript からこの値にアクセスしようとしています。

エラーが表示されます: プロパティ '値' の値を取得できません: オブジェクトが null または未定義です

ソースを表示すると、非表示フィールドの値が設定され、非表示フィールドの ID は呼び出している ID と同じになります。

ASPX

            var v = document.getElementById('hxValue').value;
            <asp:HiddenField ID="hxValue" runat="server"/>

VB

            hxValue.Value = "Value1"

以前にこれを行ったことを思い出し、比較的単純なはずですが、何らかの理由で正しく理解できません。

4

5 に答える 5

5

あなたのコードは動作します。単純なフォームの場合は、追加するだけです

<asp:HiddenField ClientIDMode="static" ID="hxValue" runat="server"/>

また

を使用してクライアントIDを見つける必要があります

'<%=hxValue.ClientID%>'
于 2012-11-27T08:46:51.790 に答える
4

スクリプトが実行される前に隠しフィールドの値が設定されていなかったため、null 値を受け取ったようです。サーバー ページの読み込みにブレークポイントを配置すると、スクリプトが実行される前にコントロールが設定されているかどうかがスクリプトによって確立されると想定していましたが、そうではないようです。

以下のように修正しました。

            <html xmlns="http://www.w3.org/1999/xhtml" >
            <head>

            <title></title>

            <script type="text/javascript">
                function GetHiddenValues() {
                    var v = document.getElementById('<%= hxValue.ClientID %>').value;
                }
            </script>
            </head>

            <body onload="GetHiddenValues() ;">

            <form runat="server">

            <asp:HiddenField ClientIDMode="static" ID="hxValue" runat="server"/>

            </form>
            </body>
            </html>

ご協力ありがとうございます。

于 2012-11-27T09:04:00.717 に答える
2

hxValue の値を取得しinnerTextないために使用できます。value

var v = document.getElementById('hxValue').innerText

あなたが使用していたなら、あなたもするjQueryことができます

var v = $("#hxValue").val();
于 2012-11-27T08:24:59.040 に答える
1

これを試して

var v = document.getElementById('<%= hxValue.ClientID %>').value;

問題は、非表示フィールドがサーバー側コントロールであり、指定した ID がサーバー側 ID であることです。クライアント側 JavaScript または Jquery で参照するには、そのコントロールのクライアント側 ID を取得する必要があります。

アップデート

</body>このスクリプトをページの最後、このようなものの直前に置きます

<script type="text/javascript" language="javascript">
  var v = document.getElementById('<%= hxValue.ClientID %>').value;
</script>
</body>
于 2012-11-27T08:30:58.727 に答える
0

試して<asp:HiddenField ID="hxValue" runat="server" Value=""/>
から、IDで呼び出して値を設定します

于 2012-11-27T08:27:00.563 に答える