我在这里发现了类似的问题,但大多数解决方案对我不起作用。我有一个带有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的内容。有没有办法将这两者结合起来并使其成为日期时间类型,以便我可以添加到我的数据库中?非常感谢你!
答案 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"]