1

jquery から textbox と Hidden フィールドの値にアクセスしようとしています。私は未定義として値を取得しています。

これらのコントロールは、マスター ページのコンテンツ ページ内にあります。

 <input id="datepickerContact" type="text" runat="server" />
<input type="hidden" runat="server" id="IAssignmentId" clientidmode="Static" />

JavaScript 関数内:

 var Insid = $("#datepickerContact");
    var firstcontactDate = $("#IAssignmentId");
    alert(Insid.val());
    alert(firstcontactDate.val());

前もって感謝します

BB

4

3 に答える 3

2

コントロール用 のClientIDModeについて言及していません。datepickerContactデフォルトでは、モードは Predicatable (または移行されたサイトの場合は AutoID) であり、コンテンツ ページの場合はコンテンツ プレースホルダーとなる親の名前付けコンテナーの連結を使用して、html サイド ID を生成します。

要するに、datepickerContactテキストボックスには「content1_datepickerContact」に似たhtml id属性が含まれるため、jqueryセレクターはhtmlコントロールを見つけられません。

簡単な解決策は、ClientIDMode を静的として使用することです。例えば、

<input id="datepickerContact" type="text" runat="server" ClientIDMode="Static" />

さらに別の方法は、 ClientIDプロパティを介して取得した実際のクライアント ID (クライアント ID モードに関係なく) をJava スクリプト関数に渡すことです。関数がマークアップ (aspx) で定義されている場合は、rick schott が示すように、サーバー側ディレクティブを使用してクライアント ID をスクリプトに埋め込むことができます。関数が外部 js にある場合は、クライアント ID をパラメーターとして渡す必要があります。

于 2011-10-12T05:11:10.190 に答える
2
$(document).ready(function() {
    var Insid = $("#<%= datepickerContact.ClientID %>");
    var firstcontactDate = $("#IAssignmentId");
    alert(Insid.val());
    alert(firstcontactDate.val());
});
于 2011-10-12T02:50:21.900 に答える
0

これを書くことでアクセスできます

var insid=$("#<%= datepickerContact.ClientID %>").val();
アラート (内部);

于 2015-03-24T09:55:27.010 に答える