8

我在日期表单中有一个输入文本,我使用 JQuery datepicker 来选择日期。

 <input type="text" id="datepicker" name="datepicker" value="Date"/>

当我使用表单发布将值发布到另一个 php 中进行计算时。我不能单独从这个输入文本中获取值。我得到一个空值而不是选定的日期。

 $date=$_POST['datepicker'];

我不确定如何在 POST 表单中传递 datepicker 值。有人可以帮我吗?

4

3 回答 3

9

jQuery 的日期选择器与发布表单无关。如果您的表单设置为“发布”,那么在用户选择日期后该输入字段中留下的任何内容都将与表单一起发送。

<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'];
于 2012-12-17T22:33:32.083 回答
4
$( "#currentDate" ).datepicker("setDate", new Date("<?php echo $_POST['myCurrentDate'] ?>"));

为我工作,阅读至少 10 种非常复杂的方法,然后意识到这是有效的。您每次都在实例化一个新值。您使用表单输入或其他技术将日期存储在 php 脚本中的某个位置,然后将其回收回上述语句中。所以重新加载不会影响结果。

如果 myCurrentDate 未设置,它将默认设置。将其设置为今天的日期需要一个 php if 语句将其设置为第一次(或重新加载页面)为 new Date(),并且 else 语句可用于包含上述代码。

于 2013-03-26T11:02:06.017 回答
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;
?>
于 2012-12-17T22:39:31.693 回答