1

我正在构建一个网页,并尝试使用 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>
    ....

怎么了?如果我有表单标签之外的输入标签,为什么它会起作用,但在表单标签中(如我的示例)它不起作用?

希望,有人可以帮助我。

问候, 雅布

4

1 回答 1

-1

附加日期选择器功能的元素位于表单上方,因此当它运行时,它找不到日期选择器输入,因为它尚未创建。你有两个选择。

  • 将脚本移动到表单下方
  • 运行脚本 onload

编辑:正如评论中指出的那样,这是一堆垃圾,尽管至少我从中学到了一些东西。

问题实际上是标记中有两个具有相同 ID 的日期选择器,因此 jQuery 只会找到具有此构造的第一个:

 $("#datepicker")

解决方案是简单地使用一类日期选择器而不是 ID。jQuery 中的类选择器将匹配所有带有 class="datepicker" 的元素,并对它们应用一个日期选择器。

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