jQuery日期选择器在IE中不起作用

时间:2018-04-16 16:35:32

标签: php jquery-ui datepicker internet-explorer-11

我试图让jQuery UI Date Picker通过php在IE中运行。我用div做了他们的基本例子,它甚至可以在IE中运行。然而,尝试将其用于我的代码适用于Chrome和Firefox,但不适用于IE。运行IE 11.以下是执行日期选择器的部分的核心:

echo"   <link rel=\"stylesheet\" href=\"//code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css\"> \n";
echo " <script src=\"https://code.jquery.com/jquery-1.12.4.js\"></script>";
echo " <script src=\"https://code.jquery.com/ui/1.12.1/jquery-ui.js\"></script>";
echo " <script>";
echo " $( function() {";
echo " $( \"#datepicker\" ).datepicker();";
echo " } ); ";


echo " $( function() {";
echo " $( \"#datepicker1\" ).datepicker();";
echo " } ); ";
echo " </script> ";


echo "<tr>                                                          \n";
    echo "<td>                                                                      \n";
        echo " <form action=\"Web.php\" method=\"post\">                            \n";
        if(!empty($_POST["datefrom"]))
            $datefr = $_POST['datefrom'];
        echo "  <b>Date From: (ex: 7/12/2017):</b> <input type=\"text\" id=\"datepicker\" name=\"datefrom\" value=\"$datefr\" >\n";
    echo "</td>                                                                     \n";
    echo "<td>                                                                      \n";
        if(!empty($_POST["dateto"]))
            $dateto = $_POST['dateto'];
        echo "  <b>Date To:   (ex: 7/12/2017):</b> <input type=\"text\" id=\"datepicker1\" name=\"dateto\" value=\"$dateto\" >\n";
    echo "</td>                                                                     \n";
    echo "<td>                                                                      \n";
    echo "</td>                                                                     \n";
echo "</tr>                                                                         \n";

它在Chrome和Firefox中运行良好。但在IE浏览器中我只有输入日期而没有日期选择器的字段。我用了这个例子:

Datepicker jQuery UI

我不确定IE是否不喜欢具体的东西。我确实在桌子上有一些造型。我接下来要尝试的是将评论所有样式,然后看看它是否会显示出来。

希望有人发现它。

我能够进行检查并发现此错误 - &#34; SCRIPT5007:该物业的价值&#39; $&#39;是null或undefined,不是Function对象&#34;它指向:

  $( function() { $( "#datepicker" ).datepicker(); } );

我无法发布所有呈现的HTML,因为我必须对其进行清理。这是jQuery UI和datepicker部分的部分

  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css"> 
 <script src="https://code.jquery.com/jquery-1.12.4.js"></script> 
 <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
 <script> 
    $( function() { $( "#datepicker" ).datepicker(); } );  $( function() { $( "#datepicker1" ).datepicker(); } ); 
 </script>

 <td>                                                                       
 <form action="Web.php" method="post">          
    <b>Date From: (ex: 7/12/2017):</b> <input type="text" id="datepicker" name="datefrom" value="" >
</td>                                                                       
<td>                                                                        
    <b>Date To:   (ex: 7/12/2017):</b> <input type="text" id="datepicker1" name="dateto" value="" >
</td>                                                                       

2 个答案:

答案 0 :(得分:1)

请使用控制台日志或错误报告更新您的帖子,了解使用IE时发生的情况。我可以在Windows 10上使用IE并加载datepicker()就好了jQuery UI。这是jQuery的一大特权 - 它适用于很多浏览器。也就是说,IE的旧版本可能无法使用它。例如,你可以在现代浏览器中使用type =“date”,并在弹出日期框时恢复到旧学校核心JS。或者,使用polyfill。但至少,除非你使用的是非常旧版本的IE,否则这段代码应该可以正常工作......它至少可以在我的IE上运行。

<!-- SCRIPT SRC INCLUDES HERE --> 

<input type="text" id="anythingYouWantHere" class="customDatepickerClass">
<input type="text" id="anythingYouWantHere2" class="customDatepickerClass">
<input type="date" id="defaultHTML5">

<script>
 $(document).on('ready', function(){
  $(".customDatepickerClass").datepicker(); // initialize all datepickers at once
 }); 
</script>

答案 1 :(得分:1)

这是我们公司的软件问题。他们正在尝试使用一些软件来监控我们访问的网站,并且在它访问所有浏览器之前需要一段时间。第一个IE。我认为它阻止了jQuery脚本项的加载。无论如何,它现在在所有浏览器上工作。一定要喜欢这个东西。谢谢你的帮助。