注意:未定义的索引:dateform

时间:2015-08-18 13:06:10

标签: javascript php jquery symfony post

我创建了两个日历日期选择器,我正在尝试获取输入数据或获取" 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']);

错误讯息 - enter image description here enter image description here

2 个答案:

答案 0 :(得分:1)

您没有在表单上指定请求的类型,因此GETPOST。但是你使用$_POST['dateform']

您需要AJAXPOST个请求发送变量,并将其与$_POST一起使用。

$.ajax({
    type: "POST",
    url: "/userpage/dateform",
    data: {
      "dateForm" : datf,
      "yourKeyNameHere" : datt
    },
    cache: false,
    success: function(data){
       $("#datesearch").text(data);
    }
});  

你有几个问题:

  1. $_POST请求指定为AJAX时,您使用$_GET

  2. 在您指定,后,您的结尾为data

  3. 这可能不是错误,但您从未指定data的密钥。 AFAIK 您必须指定使用该变量的密钥。

  4. 修改1

    请检查您的 dateform 变量是否已实际设置。因为这也可能导致这个问题。

    修改2

    这很可能就是问题所在。您的url属性似乎不正确。

    url: "/userpage/dateform",
    

    您需要设置文件扩展名。

    如果你解决了上述问题,它应该希望修复你的脚本。

答案 1 :(得分:0)

你只需要改变你的ajax调用

type: "POST",
data:{dateform:datf,dateto:datt},