我创建了两个日历日期选择器,我正在尝试获取输入数据或获取" post"日期,但是当我尝试运行我的代码时,我收到此错误,请注意:未定义的索引:dateform
我不知道为什么我会收到此错误,因为我在我的html中删除了该值将 post 类型,所以为什么它说vaue是未定义的,任何一个知道如何解决这个问题。非常感谢先进。
html代码 -
<form>
<div action = "/userpage/dateform" method="post" id="datepicker">
<input type="text" name="dateform" id="dateform" class="span2 datepicker" placeholder="From...">
<input type="text" name="dateto" id="dateto" class="span2 datepicker" placeholder="To...">
<div id="datesearch"></div>
<input type="submit" name="dateSearch" value="Search" class="btn">
</div>
</form>
脚本代码---
<script>
var datf = $("#dateform").val();
var datt = $("#dateto").val();
$.ajax({
type: "GET",
url: "/userpage/dateform",
data: datf,datt,
cache: false,
success: function(data){
$("#datesearch").text(data);
}
});
</script>
php / controller code ---
public function dateformAction(){
$from_date = strtotime($_POST['dateform']);
$to_date = strtotime($_POST['dateto']);
答案 0 :(得分:1)
您没有在表单上指定请求的类型,因此GET
或POST
。但是你使用$_POST['dateform']
。
您需要AJAX
个POST
个请求发送变量,并将其与$_POST
一起使用。
$.ajax({
type: "POST",
url: "/userpage/dateform",
data: {
"dateForm" : datf,
"yourKeyNameHere" : datt
},
cache: false,
success: function(data){
$("#datesearch").text(data);
}
});
你有几个问题:
当$_POST
请求指定为AJAX
时,您使用$_GET
。
在您指定,
后,您的结尾为data
。
这可能不是错误,但您从未指定data
的密钥。 AFAIK 您必须指定使用该变量的密钥。
修改1
请检查您的 dateform 变量是否已实际设置。因为这也可能导致这个问题。
修改2
这很可能就是问题所在。您的url
属性似乎不正确。
url: "/userpage/dateform",
您需要设置文件扩展名。
如果你解决了上述问题,它应该希望修复你的脚本。
答案 1 :(得分:0)
你只需要改变你的ajax调用
type: "POST",
data:{dateform:datf,dateto:datt},