【发布时间】:2026-01-22 22:10:01
【问题描述】:
我已经检查了几十个已经回答的类似主题,但我根本无法解决我遇到的问题。 我正在使用引导日期时间选择器 (https://eonasdan.github.io/bootstrap-datetimepicker),我的目标是在日期更改时将显示的值从保存日历 (calendar.php) 的页面传递到 PHP 文件 (data.php)。
下面我添加了代码。由于我在本地存储了一些文件,因此我从 Chrome 的开发工具中添加了一些信息。
日期选择器工作正常,我可以使用 Javascript 获取值。 问题是没有任何东西传递给 PHP。 检查了语法..在这一点上对我来说一切似乎都很好。 我不知道我做错了什么。任何建议都会受到欢迎!
日历.php:
<html>
<head>
<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
<script type="text/javascript" src="moment.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script type="text/javascript" src="bootstrap-datetimepicker.min.js"></script>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="bootstrap-datetimepicker.min.css">
</head>
<body>
<div class="container">
<div class="row">
<div class='col-sm-6'>
<div class="form-group">
<div class='input-group date' id='datetimepicker1' >
<input type='text' id='date' name='date' class="form-control" >
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
$(function () {
// Formatting how date is displayed
$('#datetimepicker1').datetimepicker({
calendarWeeks: true,
format: "YYYY MM DD"
});
//Displaying the current date in the text box when the page is accessed
$('#datetimepicker1').data("DateTimePicker").date(new Date());
// Sending the date to PHP when the user is changing it
//dp.change is an event fired when date is changed
$('#datetimepicker1').on("dp.change",function(){
var day = $('#date').val();
$.ajax({
type: "POST",
url: "data.php",
data: { day : day } })
.done(function() { alert(day); })
.fail(function() { alert("error"); })
});
})
})
</script>
</div>
</div>
</body>
</html>
当我执行代码时,它会提醒我这一天(它转到 .done(function() { alert(day); }) ),以我目前的理解,这篇文章是成功的,或者至少是这样我解释它。 这是来自 Chrome 的开发工具。 我试图表明该值已被检索。没有出现其他错误。
// Sending the date to PHP when the user is changing it
$('#datetimepicker1').on("dp.change",function(){
var day = $('#date').val(); // Date gets retrieved : day = "2016 08 03"
$.ajax({
type: "POST",
url: "data.php",
data: { day : day } }) // Date gets retrived: day = "2016 08 03"
.done(function() { alert(day); }) // I get a pop-up with the date
.fail(function() { alert("error"); })
});
})
})
带有Javascript代码的文件和带有PHP代码的文件在同一个文件夹中。
PHP (data.php) 代码如下:
<?php
if(isset($_POST['day']))
{
$day = $_POST['day'];
echo $day;
}
?>
我根本不知道我在上面的代码中做错了什么或遗漏了什么。
编辑:
我认为我没有很好地专注于我遇到的问题,对此我深表歉意。你所有的建议(非常感谢他们)都是关于 .done(function) 的。
我的问题是我的 php 文件 (data.php) 是空的。 Ajax 没有通过日期,我不知道为什么。帖子不会发生。 我尝试了你们提到的所有建议,认为它们可能是答案,但没有运气。
【问题讨论】:
标签: javascript php twitter-bootstrap