我在这里搜索过,没有找到像我这样的问题,所以我希望有人能帮忙。
我在表单的两个字段中使用 Pikaday 响应式。 “开始”日期和“截止”日期 表单上的所有内容看起来都正常,并且所选日期在表单字段中正确显示,但由于某种原因,日期没有与表单中的其余数据一起发送。
这是我的 html:
<p>
<label>BOOK FROM:</label><br />
<input name="bookfrom" type="date" id="date1" required /> <button id="clear" class="SubmitButton">Clear</button>
</p>
<p>
<label>BOOK TO:</label><br />
<input name="bookto" type="text" id="date2" required /> <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();
返回:
Date from=
Date to=
每个 = 符号后面应该有一个日期代码,但什么也没有。
我应该说我对使用 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();
以及其他一些变体,使用脚本中的术语而不是输入字段名称,但仍然得到相同的结果。
在页面的 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'
所以我猜你生成的它不正确?尝试一下,但就像我说的,这是在黑暗中尝试。
关于javascript - pikaday 日期未从 php 表单发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45700457/