pikaday 日期未从 php 表格发送

pikaday date not being sent from php form

我在这里搜索过,没有找到像我这样的问题,所以我希望有人能帮忙。

我在表单的两个字段中使用 Pikaday 响应式。 "from" 日期和 "to date" 表单上的一切看起来都正常,并且所选日期正确显示在表单字段中,但由于某种原因,日期没有与表单中的其余数据一起发送.

这是我的 html:

  <p>
    <label>BOOK FROM:</label><br />
    <input name="bookfrom" type="date" id="date1" required />&nbsp;<button id="clear" class="SubmitButton">Clear</button>
  </p>


  <p>
    <label>BOOK TO:</label><br />
    <input name="bookto" type="text" id="date2" required />&nbsp;<button id="clear2" class="SubmitButton">Clear</button>
  </p>

页面底部是我的脚本:

<script src="../js/dependencies/jquery.min.js"></script>
<script src="../js/dependencies/moment.min.js"></script>
<script src="../js/dependencies/pikaday.min.js"></script>
<script src="../js/pikaday-responsive.js"></script>
    <script>
       var $date1 = $("#date1");
      var instance1 = pikadayResponsive($date1, {
        format: "Do MMM YYYY",
        outputFormat: "X"
      });
      $date1.on("change", function() {
        $("#output1").html($(this).val());
      });

      $("#clear").click(function() {
        instance1.setDate(null);
      });

        var $date2 = $("#date2");
      var instance2 = pikadayResponsive($date2, {
        format: "Do MMM YYYY",
        outputFormat: "X"
      });
      $date2.on("change", function() {
        $("#output2").html($(this).val());
      });

      $("#clear2").click(function() {
        instance2.setDate(null);
      });
    </script>

表格发送后,下面的测试php代码:

$startdate=$_POST['bookfrom'];
echo 'Date from= ' . $startdate . '<br><br>';
$enddate=$_POST['bookto'];
echo 'Date to= ' . $enddate . '<br><br>';
exit();

returns:

Date from=

Date to=

每个=号后面应该有一个日期代码,但是什么都没有。

我应该说我是使用 JavaScript/query 的新手,我认为这可能与导致问题的原因有关。我以与表单中其他字段相同的方式为输入字段命名,其他字段均正确传输。只是这两个日期字段没有通过。

因为JavaScript,应该

$startdate=$_POST['bookfrom'];

$enddate=$_POST['bookto'];

是别的吗?我试过:

$startdate=$_POST['date1'];
echo 'Date from= ' . $startdate . '<br><br>';
$enddate=$_POST['date2'];
echo 'Date to= ' . $enddate . '<br><br>';
exit();

和其他一些在脚本中使用术语而不是输入字段名称的变体,但仍然得到相同的结果。

在页面的head标签中我还有:

 <link rel="stylesheet" href="../css/pikaday-package.css">
 <script src="../js//pikaday-responsive-modernizr.js"></script>

如有任何帮助,我将不胜感激。

祝福

托格

这是在黑暗中拍摄的,因为我对 Pikaday 并不完全熟悉,但是当我使用它时,我是这样生成它的:

var timepicker = new Pikaday({
field: document.getElementById('datepicker'),
firstDay: 1,
minDate: new Date(2016, 0, 1),
maxDate: new Date(2100, 12, 31),
yearRange: [2016,2100],
showTime: true,
autoClose: false,
use24hour: false,
format: 'YYYY-MM-dd'

所以我的猜测是你生成的不正确?试一试,但就像我说的,这是在黑暗中尝试。

我真是个白痴。我花了两天多的时间在这上面,现在这个解决方案就像一列货运火车一样击中了我。一个愚蠢(非常愚蠢)的错别字。

我有:

<script src="../js//pikaday-responsive-modernizr.js"></script>

应该是:

<script src="../js/pikaday-responsive-modernizr.js"></script>

令人惊讶的是一个无关的 / 可以做什么 :-)