0

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

我在表单的两个字段中使用 Pikaday 响应式。“开始”日期和“截止日期” 表格上的一切看起来都正常,所选日期正确显示在表格字段中,但由于某种原因,日期没有与表格中的其余数据一起发送。

这是我的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();

返回:

日期自=

日期=

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

我应该说我对使用 JavaScript/查询非常陌生,我认为这可能与导致问题的原因有关。我以与表单中其他字段相同的方式给出了输入字段名称,并且其他字段都正确传输。只是这两个日期字段没有通过。

由于 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();

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

在页面的头部标签中,我还有:

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

我将不胜感激任何帮助。

最好的祝愿

托格

4

2 回答 2

1

这是在黑暗中拍摄的,因为我对 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'

所以我的猜测是你错误地生成了它?试一试,但就像我说的那样,这是在黑暗中拍摄的。

于 2017-08-15T20:24:50.040 回答
0

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

我有:

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

它应该是:

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

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

于 2017-08-15T20:48:00.290 回答