1

私は Web ページを作成しており、HTML5 でこれを実行しようとしています。いいえ、日付ピッカーを実装するためにクロスブラウジングを試みました...そして、ええ...動作します。今の問題は、入力タグをフォームに入れると、日付ピッカーが機能しないことです。これが私の例です:

    <html lang="en">
    <head>
            <meta http-equiv="Content-Type" content="text/html charset="utf-8" />
            <title>My Page.</title>
            <!--<link rel="stylesheet" href="blog.css" type="text/css">-->
            <link rel="stylesheet" href="style.css" type="text/css">
            <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
            <script src="js/jquery-1.9.1.js"></script>
            <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>

            <script>
            $(function(){
                $("#datepicker").datepicker();
                });
            </script>
    </head>
<body>
    <form id="create_inserat" action="/inserat.php=<?php tbd ?>" method="post">
        <fieldset id="inserat">
            <legend>Inserat erfassen</legend>
            <ol>
                <li>
                    <label for="start">Startdatum</label>
                    <input type="date" name="date" id="datepicker" value="" />
                </li>
            </ol>
        </fieldset>
    </form>
    ....

どうしたの?form-tag の外に input-tag がある場合に機能するのに、(私の例のように) form-tag では機能しないのはなぜですか?

誰かが私を助けてくれることを願っています。

こんにちは、ヤブ

4

1 に答える 1

-1

日付ピッカー機能をアタッチする要素はフォームの上にあるため、実行時にまだ作成されていないため、日付ピッカー入力を見つけることができません。2 つのオプションがあります。

  • スクリプトをフォームの下に移動します
  • オンロードでスクリプトを実行する

編集:コメントで指摘されているように、これはゴミの山ですが、少なくとも私はそこから何かを学びました。

実際問題は、マークアップに同じ ID を持つ 2 つの日付ピッカーがあるため、jQuery は次の構造を持つ最初のもののみを検出することでした。

 $("#datepicker")

解決策は、ID の代わりに datepicker のクラスを使用することです。jQuery のクラス セレクターは、class="datepicker" を持つすべての要素に一致し、それらに datepicker を適用します。

 $(function(){
      $(".datepicker").datepicker();
 });
于 2013-07-05T15:47:42.507 に答える