将选定的日期值从datepicker传递给php

时间:2013-01-28 06:35:01

标签: php jquery html datepicker

我在这里发现了类似的问题,但大多数解决方案对我不起作用。我有一个带有datepicker的表单,我想将所选日期传递给我的php文件,但它似乎不起作用。

我的HTML是这样的:

<form name="myForm" action="createevent.php" onsubmit="return validateForm()" method="get"> 
<p>Date<input type="text" id="mydate" /></p>
<input type="submit" name="submit" value="Submit" />
</form>

使用Javascript:

$(function() {
$.datepicker.setDefaults($.extend($.datepicker.regional[""]));
$("#mydate").datepicker({
    onSelect: function(dateText, inst) {
    var dateAsString = dateText; 
    alert (dateAsString); //this prints out the right value.
    alert (mydate.value); //this value is the same as dateText
    }
});

createevent.php

function CreateEvent()
{
    if(isset($_GET['submit']))
    {
        $mydate=$_GET['mydate'];
        echo $mydate;
    }
    }

当我发出警报(mydate.value)时,它会给出正确的值。但是当我在我的php文件中回显$ mydate时,它没有显示任何内容。任何帮助表示赞赏!

更新:

谢谢你们!我犯了一个愚蠢的错误。添加“名称”属性有效。我有一个跟进问题。我也有一个时间选择器,它返回01:21之类的东西。我的日期返回类似于01/01/2013的内容。有没有办法将这两者结合起来并使其成为日期时间类型,以便我可以添加到我的数据库中?非常感谢你!

3 个答案:

答案 0 :(得分:3)

我没有尝试,但我想知道可能只是你的控件丢失了“名字”,试着改变它如下:

<input type="text" id="mydate" name="mydate"/>

答案 1 :(得分:3)

由于看起来你在onSelect被解雇后的日期没有做任何事情,我唯一看错的是你的输入缺少name属性,而且在{ {1}}超全球

将您的输入更改为:

$_GET

它应该有用。

如果您计划将日期和时间存储在MySQL数据库中,则可以执行以下操作。首先是你的形式:

<input type="text" id="mydate" name="mydate"/>

然后,在你的<form name="myForm" action="createevent.php" onsubmit="return validateForm()" method="get"> <p>Date<input type="text" id="mydate" name="mydate"/></p> <p>Time<input type="text" id="mytime" name="mytime"/></p> <input type="hidden" id="mydatetime" name="mydatetime"/> <input type="submit" name="submit" value="Submit" /> </form> 函数中,我会添加如下内容:

validateForm()

答案 2 :(得分:2)

在输入框中进行了更改

<input type="text" id="mydate" />

TO:

<input type="text" id="mydate" name="mydate"/>

当您提交表单时,它将提交textbox mydate的名称值,您可以通过$_GET["mydate"]

获取它