<asp:TextBox />
のIDを設定できる場合、
<input type=”text” />
の対応する要素がどのIDになるかを予測することはかなり困難です。 多くの場合、レンダリングされた要素のIDを知る必要があります。 しかし、このように見えます
ctl00_contentBody_txtStreet.
この難しさを克服する方法はいくつかあります 。 ここで説明します 。 それらはすべて、面倒な構成を記述するか、独自のコントロールを作成する必要があります。 しかし、クライアントIDを取得する別の非常に簡単な方法があります。
きっと、HTMLタグのクラス属性に対応する
CssClass
サーバーコントロールの
CssClass
属性を覚えているでしょう。 確かに、多くの人がjQueryを使用し、指定されたクラス名を持つ要素を取得できるセレクターを知っています。 では、これらすべてを組み合わせてみませんか?
そして、全体としては次のようになります。
<asp:TextBox ID="txtStreet" runat="server" CssClass="txtStreet" />
CssClassプロパティに一意の値を与えるだけです
そして、あなたはすでにJavaScriptを使用して入力値を取得することができます
alert($('.txtStreet').val());
とても簡単です。 ただし、このセレクタはすべてのHTMLタグを反復処理することを覚えておく価値があります。これは、大きなページの場合、時間がかかる場合があります。 したがって、jQueryで検索するタグを指定する価値がありますが、これは単純に行われます。クラスセレクターの前にタグ名を追加するだけです。
alert($('input.txtStreet').val());
クライアントIDの予測が容易になるため、ASP.NET 4.0ではこれを行う必要はありません。