C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.56576 の関連記事表示

<< 0 >>
■56576  マスターページ使用画面のjQueryのDatePicker
□投稿者/ あや -(2011/01/20(Thu) 14:02:08)

    分類:[ASP.NET (C#)] 

    はじめまして。
    いつも大変参考にさせていただいております。

    表題の件で質問させてください。

    jQueryにてdatepickerでカレンダー表示を使用する際、通常は


    [スクリプト]
    $("#txtUpdDate").datepicker({・・・・・})

    [HTML]
    <asp:TextBox ID="txtUpdDate" runat="server" Width="80px" MaxLength="10" CssClass="ime-disabled"></asp:TextBox>


    でうまくいくのですが、マスターページを使用するとID名が
    「ctl00$ContentPlaceHolder1$txtUpdDate」となりIDが一致せずカレンダーが動作しません。

    HTMLのINPUTだとうまくいくのですが今度は値をうまく取得できずに困っています。
    (runat="server"を上記INPUTタグに不可しても結局ID名が変わります・・・)

    通常のJavaScriptだとプログラムから付加するような Attributes.Add("","")やRegisterClientScriptBlock("","")でうまくいくのですが、
    スクリプトにIDを指定するとなるとどのようにしたらいいのかがわかりません。

    このような場合はどのように実装するのでしょうか?

    ご教授よろしくお願いいたします。

親記事 /過去ログ95より / 関連記事表示
削除チェック/

■56583  Re[1]: マスターページ使用画面のjQueryのDatePicker
□投稿者/ やじゅ -(2011/01/20(Thu) 18:09:22)
>
    No56576 (あや さん) に返信
    > マスターページを使用するとID名が
    > 「ctl00$ContentPlaceHolder1$txtUpdDate」となりIDが一致せずカレンダーが動作しません。

    過去ログで「ctl00」で検索
    マスターページを使った場合のJavaScriptからの参照
    http://bbs.wankuma.com/index.cgi?mode=al2&namber=27369&KLOG=50
記事No.56576 のレス /過去ログ95より / 関連記事表示
削除チェック/

■56614  Re[2]: マスターページ使用画面のjQueryのDatePicker
□投稿者/ あや -(2011/01/21(Fri) 16:15:10)
    No56583 (やじゅ さん) に返信

    > 過去ログで「ctl00」で検索
    > マスターページを使った場合のJavaScriptからの参照
    > http://bbs.wankuma.com/index.cgi?mode=al2&namber=27369&KLOG=50

    返信ありがとうございます。

    過去の掲示板も見ていたのですがこのページにはたどり着きませんでした。
    スクリプトでは「document.forms[0].ctl00_ContentPlaceHolder1_TextBox1.value」で値が取得できるんですね。


    今回は「$('#<%= ContentPlaceHolder1.FindControl("txtUpdDate").ClientID %>').datepicker({・・・・・})にて対応させていただきます。

    ありがとうございました。
記事No.56576 のレス /過去ログ95より / 関連記事表示
削除チェック/

■56591  Re[1]: マスターページ使用画面のjQueryのDatePicker
□投稿者/ もりお -(2011/01/21(Fri) 00:55:42)
    2011/01/21(Fri) 01:38:47 編集(投稿者)

    No56576 (あや さん) に返信

    > でうまくいくのですが、マスターページを使用するとID名が
    > 「ctl00$ContentPlaceHolder1$txtUpdDate」となりIDが一致せずカレンダーが動作しません。

    ID における ctl00 がマスターページで、ContentPlaceHolder1 がコンテンツページですかね。
    マスターページを使用するコンテンツページに TextBox コントロール txtUpdDate を配置して
    いらっしゃいますか。

    > このような場合はどのように実装するのでしょうか?

    インライン式で TextBox.ClientID プロパティを参照するとよいです。
    対象の TextBox を参照する必要があるので、JavaScript をコンテンツページに記述するか、
    マスターページに記述するかによって実装は異なります。
    コンテンツページに JavaScript を記述するならば、こんな感じです。

    [WebForm.aspx]

    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <asp:TextBox ID="txtUpdDate" runat="server" Width="80px" MaxLength="10" CssClass="ime-disabled"></asp:TextBox>
    <script type="text/javascript">
    $("#<%= txtUpdDate.ClientID %>").datepicker({・・・・・})
    </script>
    </asp:Content>

    マスターページに JavaScript を記述するならば、こんな感じです。

    [Site.Master]

    <form id="form1" runat="server">
    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
    </asp:ContentPlaceHolder>
    </form>
    <script type="text/javascript">
    $('#<%= ContentPlaceHolder1.FindControl("txtUpdDate").ClientID %>').datepicker({・・・・・})
    </script>
記事No.56576 のレス /過去ログ95より / 関連記事表示
削除チェック/

■56615  Re[2]: マスターページ使用画面のjQueryのDatePicker
□投稿者/ あや -(2011/01/21(Fri) 16:29:48)
    No56591 (もりお さん) に返信
    > 2011/01/21(Fri) 01:38:47 編集(投稿者)
    >
    > ■No56576 (あや さん) に返信
    >
    >>でうまくいくのですが、マスターページを使用するとID名が
    >>「ctl00$ContentPlaceHolder1$txtUpdDate」となりIDが一致せずカレンダーが動作しません。
    >
    > ID における ctl00 がマスターページで、ContentPlaceHolder1 がコンテンツページですかね。
    > マスターページを使用するコンテンツページに TextBox コントロール txtUpdDate を配置して
    > いらっしゃいますか。
    >

    返信ありがとうございます。
    言葉足らずで申し訳ありません、その方法が知りたいのです。


    >>このような場合はどのように実装するのでしょうか?
    >
    > インライン式で TextBox.ClientID プロパティを参照するとよいです。
    > 対象の TextBox を参照する必要があるので、JavaScript をコンテンツページに記述するか、
    > マスターページに記述するかによって実装は異なります。
    > コンテンツページに JavaScript を記述するならば、こんな感じです。
    >
    > [WebForm.aspx]
    >
    > <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    > <asp:TextBox ID="txtUpdDate" runat="server" Width="80px" MaxLength="10" CssClass="ime-disabled"></asp:TextBox>
    > <script type="text/javascript">
    > $("#<%= txtUpdDate.ClientID %>").datepicker({・・・・・})
    > </script>
    > </asp:Content>
    >
    > マスターページに JavaScript を記述するならば、こんな感じです。
    >
    > [Site.Master]
    >
    > <form id="form1" runat="server">
    > <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
    > </asp:ContentPlaceHolder>
    > </form>
    > <script type="text/javascript">
    > $('#<%= ContentPlaceHolder1.FindControl("txtUpdDate").ClientID %>').datepicker({・・・・・})
    > </script>

    すごいです!

    > $("#<%= txtUpdDate.ClientID %>").datepicker({・・・・・})

    や、

    > $('#<%= ContentPlaceHolder1.FindControl("txtUpdDate").ClientID %>').datepicker({・・・・・})


    で期待通りの動きを実装することができました!

    こんなIDの指定方法ができるんですね!
    勉強になります。

    ありがとうございました!
記事No.56576 のレス / END /過去ログ95より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -