我在日期的表单中有一个输入文本,我使用JQuery datepicker来选择日期。
<input type="text" id="datepicker" name="datepicker" value="Date"/>
当我使用表单发布将值发布到另一个php进行计算时。我没有单独从这个输入文本中获取值。我得到一个空值而不是选定的日期。
$date=$_POST['datepicker'];
我不确定如何在表单POST中传递datepicker值。有人可以帮助我吗?
答案 0 :(得分:8)
jQuery的datepicker与发布表单无关。如果您的表单设置为“发布”,那么在用户选择日期后,该输入字段中剩余的内容将随表单一起发送。
<form action="process.php" method="post">
<input type="text" id="datepicker" name="datepicker" value="Date"/>
</form>
给你:
$date = $_POST['datepicker'];
但是,如果您的表单是作为“获取”请求发送的,则您需要以此方式访问它。
<form action="process.php" method="get">
<input type="text" id="datepicker" name="datepicker" value="Date"/>
</form>
给你:
$date = $_GET['datepicker'];
答案 1 :(得分:3)
$( "#currentDate" ).datepicker("setDate", new Date("<?php echo $_POST['myCurrentDate'] ?>"));
适合我,阅读至少10种非常复杂的方法,然后意识到这是有效的。您每次都要实例化一个新值。您使用表单输入或其他技术将日期存储在PHP脚本中的某个位置,然后将其回收到上述语句中。因此重新加载不会影响结果。
如果未设置myCurrentDate,则默认设置它。将它设置为今天的日期需要php if语句将其设置为第一次(或重新加载页面)到新的Date(),而else语句可用于包含上述代码。
答案 2 :(得分:2)
这是一个带有日期选择器的简单表单
<form id="myform" name="myform">
<input type="text" id="datepicker" name="datepicker" value="Date"/>
<input type="button" id="submitMe">
</form>
现在你的jquery,我们将使用一些AJAX的东西:
//init datepicker
$(function() {
$("#datepicker").datepicker({
showButtonPanel: true
});
});
//pass deatepicker to php
$("#submitMe").click(function() {
$.ajax({
type: 'POST',
url: "pass.php",
dataType: "json",
data: $('#myform').serialize(),
success: function(data) {
console.log("Done");
}
});
return false;
});
最后是你的pass.php文件
<?php
//note that date may have slashes or dots so we url decode it
$date = urldecode ($_GET['datepicker']);
echo "chosen date is: ".$date;
?>