Как передать значение jQuery datepicker в методе POST формы?

у меня есть входной текст в форме для даты, и я использую jQuery datepicker для выбора даты.

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

когда я использую form post для публикации значений в другой php для расчета. я не получаю значения только из этого входного текста. я получаю пустое значение вместо выбранной даты.

 $date=$_POST['datepicker'];

Я не уверен, как передать значение datepicker в форме POST. Кто-нибудь может мне помочь?

3 ответов


datepicker jQuery не имеет ничего общего с публикацией вашей формы. Если ваша форма установлена в "post", то все, что осталось в этом поле ввода после того, как пользователь выбрал дату, будет отправлено вместе с формой.

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

дает вам:

$date = $_POST['datepicker'];

однако, если ваша форма отправляется как запрос "get", вам нужно будет получить доступ к ней как таковой.

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

дает вам:

$date = $_GET['datepicker'];

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

работает для меня, прочитайте по крайней мере 10 очень сложных способов сделать это, а затем понял, что это работает. Каждый раз создается новое значение. вы сохраняете дату где-то в своих PHP-скриптах, используя ввод формы или какой-либо другой метод, а затем повторно возвращаете ее в вышеуказанный оператор. Таким образом, перезагрузка не влияет на результат.

Если myCurrentDate не установлен, он будет установлен по умолчанию. Чтобы установить его на сегодняшнюю дату, требуется оператор php if, чтобы установить его первым время (или перезагрузите страницу) до новой даты (), и оператор else может использоваться для включения вышеуказанного кода.


Это простая форма с 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;
});​

и, наконец, ваш пропуск.файл php

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

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

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