1

こんにちは、みんな、

私はユーザー コントロールを設計しています。簡単に言うと、asp:hiddenfield コントロールが含まれています。このような JavaScript 関数を介してアクセスします。

function doAnyThing
{
    var myVar = document.getElementById("myHiddenFiled");
}

しかし、コードをトレースすると、myVar が null に割り当てられていることがわかりました。

document.getElementById()

メソッドは、(.aspx) ファイルで正しく機能することを考慮して、ユーザー コントロール ファイル (.ascx) または通常の (.aspx) ファイルで使用されます。

4

2 に答える 2

9

コントロールの最終的な ID を ClientID で設定する必要がありました。これは、ページの構造によって異なります。これを試して:

function doAnyThing
{
    var myVar = document.getElementById("<%= yourControlServerID.ClientID %>");
}

明らかに、この関数は .aspx ファイルに配置する必要があります。jQuery のようなフレームワークを使用するように切り替えることをお勧めします。これにより、より洗練されたセレクターでコントロールを取得できます。このケースは次の方法で解決されます。

$("[id$=yourControlServerID]");

また、外部の .js ファイルにも JavaScript コードを配置できます。

于 2009-01-13T10:39:46.520 に答える
2

簡単にするために、次のいずれかを使用できます。

JQuery

$("<%= yourControlServerID.ClientID %>"). ....

ASP.NET JavaScript 注釈:

var myVar = $get("<%= yourControlServerID.ClientID %>");

ASP.NET JavaScript 注釈コードは次と同じです。

var myVar = document.getElementById("<%= yourControlServerID.ClientID %>")
于 2009-01-13T10:44:42.280 に答える