2016-05-06 49 views
0

從jQuery DatePicker中恢復數據不起作用。 $ dateDebut和$ dateFin是空的..我不明白爲什麼。我從#from和#to恢復數據,但我的2回聲測試不起作用。從jQuery DatePicker中恢復數據不起作用

<script> 
 
    $(function() { 
 

 
    
 

 
    $("#from").datepicker({ 
 
     defaultDate: "+1d", 
 
     changeMonth: true, 
 
     numberOfMonths: 1, 
 
     dateFormat : '@', 
 
     onClose: function(selectedDate) { 
 
     $("#to").datepicker("option", "minDate", selectedDate); 
 
     } 
 
    }); 
 
    $("#to").datepicker({ 
 
     defaultDate: "+1w", 
 
     changeMonth: true, 
 
     numberOfMonths: 1, 
 
     dateFormat : '@', 
 
     onClose: function(selectedDate) { 
 
     $("#from").datepicker("option", "maxDate", selectedDate); 
 
     var currentDate = $(".selector").datepicker("getDate"); 
 
     } 
 
    }); 
 
    }); 
 
    </script> 
 
    
 
<label for="from">Du</label> 
 
<input type="text" id="from" name="from"> 
 
<label for="to">Au</label> 
 
<input type="text" id="to" name="to"> 
 

 
<?php 
 
    $dateDebut = $_POST[‘from’] ; 
 
    $dateFin = $_POST[‘to’] ; 
 
    echo('La date est : ' . $dateDebut); 
 
    echo($dateFin); 
 
?>

在此先感謝。

+0

是在''

的元素輸入日期選擇器?如果是這樣,是將方法設置爲POST並將操作設置爲相同的頁面,並且您是否提交表單?如果''指向與POST相同的頁面,那麼這是日期在PHP中填充的唯一方式,所以變量出現在服務器端$ _POST數組中;你的PHP塊在腳本的其餘部分之前運行,所以如果你沒有通過POST提交信息,你上面發佈的腳本中沒有$ _POST變量。這是一口。 –

回答

0

如果您將日期選擇器<input>元素包裝在<form>中,並將操作設置爲同一頁面,則可以在提交表單後在同一頁面上檢查$_POST變量。沒有提交,PHP將無法獲得變量。如果您試圖在您的服務器端腳本中使用日期而沒有提交/刷新頁面,則可以選擇查看AJAX。

下面是你可以在一個文件中設置它:

<!doctype html> 
<html> 
    <head> 
    <title>Page Title Here</title> 
    <link rel='shortcut icon' href='favicon.ico'> 
    <!-- include stylesheet for jquery ui --> 
    <link rel='stylesheet' href='https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css'> 
    </head> 
    <body> 
    <?php 
     //check if the dates have been posted 
     //assign the dates to variables if they've been posted, 
     //otherwise assign them the value of false 
     $dateDebut = isset($_POST['from'])?$_POST['from']:false; 
     $dateFin = isset($_POST['to'])?$_POST['to']:false; 
    ?> 

    <!-- the form which contains our datepickers --> 
    <form action='./' method='POST'> 
     <label for='from'>Du</label> 
     <input name='from' id='from'> 
     <label for='to'>Au</label> 
     <input name='to' id='to'> 
     <input type='submit' value='Submit'> 
    </form> 

    <?php 
     //print the dates if they were posted (if they aren't set to false) 
     if(false !== $dateDebut){ 
     //start date ms timestamp 
     echo 'start date timestamp (ms) : '.$dateDebut."<br>"; 
     //start date formatted 
     echo 'start date (date format - mm/dd/yyyy): '.date("m/d/Y", ($dateDebut/1000))."<br>"; 
     } 
     if(false !== $dateFin){ 
     //end date timestamp 
     echo 'end date timestamp (ms) : '.$dateFin."<br>"; 
     //end date formatted 
     echo 'end date (date format - mm/dd/yyyy): '.date("m/d/Y", ($dateFin/1000))."<br>"; 
     } 
    ?> 
    <!-- include jquery and jquery-ui --> 
    <script src="https://code.jquery.com/jquery-1.12.3.min.js" integrity="sha256-aaODHAgvwQW1bFOGXMeX+pC4PZIPsvn2h1sArYOhgXQ=" crossorigin="anonymous"></script> 
    <script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js" integrity="sha256-xNjb53/rY+WmG+4L6tTl9m6PpqknWZvRt0rO1SRnJzw=" crossorigin="anonymous"></script> 
    <script> 
     //setup datepickers 
     $('[name=from]').datepicker({ 
     defaultDate: "+1d", 
     changeMonth: true, 
     numberOfMonths: 1, 
     dateFormat : '@', 
     onClose: function(selectedDate) { 
      $("#to").datepicker("option", "minDate", selectedDate); 
     } 
     }); 
     $('[name=to]').datepicker({ 
     defaultDate: "+1w", 
     changeMonth: true, 
     numberOfMonths: 1, 
     dateFormat : '@', 
     onClose: function(selectedDate) { 
      $("#from").datepicker("option", "maxDate", selectedDate); 
      var currentDate = $(".selector").datepicker("getDate"); 
     } 
     }); 
    </script> 
    </body> 
</html> 
+0

您好,感謝您的回覆!所以,對於信息,我的代碼已經是這樣的形式:[鏈接] http://pastebin.com/zQ27hcTv :) –

+0

你應該已經發布了所有的開始。你有兩種形式。第一個有一個提交按鈕 - 第二個沒有。您需要向第二個表單添加一個提交按鈕,並使用該按鈕 - 或將所有元素放在一個表單中。 –

+0

是的,這很好。感謝你所做的一切 ! –