我创建了两个日历日期选择器,我正在尝试获取输入数据或获取“发布”日期,但是当我尝试运行我的代码时,我收到此错误,注意:未定义索引: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 代码---
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);
}
});
您遇到了几个问题:
当
AJAX
请求指定$_GET
时,您正在使用$_POST
。在指定
数据
后,您有一个尾随,
。这可能不是错误,但您从未指定
数据
的键。 据我所知您必须指定一个键才能使用该变量。
编辑 1
请检查您的dateform变量是否实际设置。因为这也可能导致问题。
编辑2
这很可能是问题所在。您的 url
属性似乎不正确。
url: "/userpage/dateform",
您需要设置文件扩展名。
如果您修复了上述所有问题,它应该希望修复您的脚本。
关于javascript - 通知: Undefined index: dateform,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32073310/