在页面加载时将jquery datepicker数据发送到php

时间:2013-07-04 21:14:15

标签: php javascript jquery jquery-ui-datepicker

我正在使用jquery datepicker。

<form action="" method="get" name="date">
    <br />
    Start Date :<input type="text" name="sdate" id="sdate" />
    End Date : <input type="text" name="edate" id="edate" />
</form>

我在页面加载后立即设置默认日期。这个日期应该发送到PHP。但是如果没有上述表单中的提交按钮的帮助,我无法做到这一点。如果没有提交按钮的帮助,我该怎么做?我知道我需要使用onClose选项。但是我应该在里面写什么以便将数据发送给PHP?

这是JS -

$("#sdate").datepicker({
    "dateFormat" : "yy-mm-dd",
    "onClose": ???
});
$("#edate").datepicker({
    "dateFormat" : "yy-mm-dd",
    "onClose": ???
});
$("#edate").datepicker("setDate","+0");

$("#sdate").datepicker("setDate","-7");

3 个答案:

答案 0 :(得分:1)

如果你的日期选择器是表单的一部分,你可以这样做......

onSelect: function (dateText, inst) {
 $(this).parent('form').submit();
        }

那将提交父表格。

此处有更多信息....

http://mikemurko.com/general/jquery-ui-datepicker-form-submission-onselect/

这里有更多帮助....几乎相同的问题......

jQuery Datepicker to Trigger a POST

答案 1 :(得分:0)

你应该提供一个函数来获取日期并进行Ajax调用,或者如果你想同时发送两个日期,你应该将它们存储在变量中,然后在第二次关闭时进行Ajax调用。

$("#sdate").datepicker({
   "dateFormat" : "yy-mm-dd",
   "onClose": function(date, obj){
        jQuery.post('URL', {sDate: date}, function(data, textStatus, xhr) {
             //If there is success
        });
   }
});
$("#edate").datepicker({
   "dateFormat" : "yy-mm-dd",
   "onClose": function(date, obj){
        jQuery.post('URL', {eDate: date}, function(data, textStatus, xhr) {
             //If there is success
        });
   }
});

$("#edate").datepicker("setDate","+0");
$("#sdate").datepicker("setDate","-7");

答案 2 :(得分:0)

您好,您可以在关闭功能

中使用AJAX调用
onClose: function() {
        //do ajax call here 
$.ajax({
      url: "test.php",
      type: "post",
      data: values,
      success: function(){
          alert("success");

      },
      error:function(){
          alert("failure");

      }   
    }); 
      }