【发布时间】:2015-10-09 17:11:28
【问题描述】:
我目前正在开发一个使用 bootstrap-datepicker 的网站。当用户更改日期时,我使用 javascript 通过 URL 传递日期,并将页面加载到另一个容器中。目前这在 Chrome 和 Firefox 中正常工作,但在 IE 中不起作用。这是由于 URL 的格式和发送方式。
在 PHP 页面上获取日期和格式的代码是:
$day = strtotime($_GET['seldate']);
Javascript 是:
var selectedDate = $("#datepicker").datepicker('getDate').toLocaleDateString();
在 Chrome 和 Firefox 上它可以正常工作,并且 URL 是 selDate=mm/dd/yyyy 格式。 IE打印出来的时候显示?10?/?10?/?2015
此外,在 selectedDate 上使用 encodeURIComponent 时。它正确解码为 mm/dd/yyyy... 但由于某种原因在 strtotime() 调用中失败。我想知道是否有一些隐藏或翻译错误的字符导致它在 Edge 浏览器上失败,因为那是它失败的地方。
【问题讨论】:
-
更改格式。 10-10-2015
-
在JS端怎么改?
-
阅读 url 编码或使用不同的格式
-
我刚刚注意到它实际上只发生在IE的Edge浏览器模式下。
标签: javascript php jquery bootstrap-datepicker microsoft-edge