我创建了两个日历datepicker,我尝试获取输入数据或获取“发布”日期,但是当我尝试运行我的代码时,出现此错误,请注意:未定义索引: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 /控制器代码-
public function dateformAction(){
$from_date = strtotime($_POST['dateform']);
$to_date = strtotime($_POST['dateto']);
错误信息 -
最佳答案
您没有在表单上指定请求的类型,因此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",
您需要设置文件扩展名。
如果您修复了上述所有问题,则有望修复您的脚本。