2012-12-17 74 views
5

我有一個日期形式的輸入文本,我使用JQuery datepicker來選擇日期。如何在表單POST方法中傳遞jquery datepicker值?

<input type="text" id="datepicker" name="datepicker" value="Date"/> 

當我使用表單發佈後值到另一個PHP計算。我沒有單獨從這個輸入文本中獲得值。我得到一個空值而不是選定的日期。

$date=$_POST['datepicker']; 

我不確定如何在表單POST中傳遞datepicker值。有人可以幫我嗎?

回答

8

jQuery的日期選擇器與發佈表單無關。如果您的表單設置爲「發佈」,那麼在用戶選擇日期後,該輸入字段中留下的內容將隨表單一起發送。

<form action="process.php" method="post"> 
    <input type="text" id="datepicker" name="datepicker" value="Date"/> 
</form> 

爲您提供:

$date = $_POST['datepicker']; 

但是,如果你的形式被髮送爲「取」請求你需要訪問它是這樣。

<form action="process.php" method="get"> 
    <input type="text" id="datepicker" name="datepicker" value="Date"/> 
</form> 

爲您提供:

$date = $_GET['datepicker']; 
+1

我已經設置了method =「POST」。但迄今爲止還沒有工作,但現在它的工作。 – Allen

2

這是一個簡單的形式與一個datepicker

<form id="myform" name="myform"> 
    <input type="text" id="datepicker" name="datepicker" value="Date"/> 
    <input type="button" id="submitMe"> 
    </form> 

現在您的jQuery的,我們要使用一些AJAX的東西:

//init datepicker 
$(function() { 
    $("#datepicker").datepicker({ 
     showButtonPanel: true 
    }); 
}); 

//pass deatepicker to php 
$("#submitMe").click(function() { 
    $.ajax({ 
     type: 'POST', 
     url: "pass.php", 
     dataType: "json", 
     data: $('#myform').serialize(), 
     success: function(data) { 
      console.log("Done"); 

     } 
    }); 
return false; 
});​ 

最後你的pass.php文件

<?php 
//note that date may have slashes or dots so we url decode it 

$date = urldecode ($_GET['datepicker']); 

echo "chosen date is: ".$date; 
?> 
+0

這幫了我,謝謝。 – surfbird0713

+0

不客氣,很高興我幫了忙 – Theodore

2
$("#currentDate").datepicker("setDate", new Date("<?php echo $_POST['myCurrentDate'] ?>")); 

作品對我來說,看這樣做至少10種非常複雜的方式,然後意識到這一點的作品。您每次都要實例化一個新值。您可以使用表單輸入或其他技術將日期存儲在您的PHP腳本中,然後將其回收到上述語句中。因此重新加載不會影響結果。

如果myCurrentDate未設置,它會默認設置它。要將它設置爲今天的日期,需要使用php if語句將其第一次(或重新加載頁面)設置爲新的Date(),else語句可用於包含上述代碼。

相關問題