2016-06-30 3 views
0

Я использую формуляр и должен отделить дату в день, месяц и год. Я нашел способ separte date, используя переменную $ enterdate.Получите значение входной формы (PHP)

<form action="/datepage.php" method="get"> 
    <label data-for="date">Enter Date:</label> 
<?php $enterdate = $GET["date"]; list ($day,$month,$year) = split('[/.-]', $enterdate); ?> 
    <input type="text" id="datefield" name="date" class="datepicker" value="" autocomplete="off" /> 
    <input type="hidden" id="day" name="day" value="<?php echo $day; ?>" /> 
    <input type="hidden" id="month" name="month" value="<?php echo $month; ?>" /> 
    <input type="hidden" id="year" name="year" value="<?php echo $year; ?>" /> 
    </form> 

Но я не знаю, как я могу получить значение поля ввода, заполненный внутри поля ввода (ID = «DateField») пользователя. Например, пользователь вводит следующую дату: 14.01.16

В конце концов мне это нужно ПОЛУЧИТЬ выход в URL:

& Дата = 14.01.16 & дня = 14 & месяца = 01 & года = 16

У кого-нибудь есть идея, что я сделал не так?

+2

добавить кнопку отправки и нажмите на это и проверить, что это произойдет –

+0

я хотел бы использовать JavaScript, чтобы построить моя форма против к php. Что случилось с этим? Вы отправляете это на другую страницу? Я не понимаю, как значения устанавливаются в скрытых полях, если эта страница не перезагружается, то вы хотите снова опубликовать эти данные? – Radmation

+1

Прежде всего, это будет '$ _GET [" date "]', и, во-вторых, вы, конечно, не можете получить доступ к этому значению на стороне сервера _before_, пользователь отправил форму. – CBroe

ответ

-1

Требуется ли иметь данные в URL-адресе? Использование GET отправит данные в URL.

Я хотел бы сделать это таким образом - (резюме: опубликовать данные, используя запись действий и использовать JQuery, чтобы заполнить значения скрытых входов)

Это должно сделать трюк. Это делается после того, как пользователь выбирает дату, которая обновит поля скрытой формы с правильными значениями. Таким образом, когда вы публикуете эту форму, сервер получит значения.

Ваша форма с представить вход добавил:

<form action="/datepage.php" method="POST"> 
    <label data-for="date">Enter Date:</label> 
    <input type="text" id="datefield" name="date" class="datepicker" value="" autocomplete="off" /> 
    <!-- set from jQuery --> 
    <input type="hidden" id="day" name="day" value="" /> 
    <input type="hidden" id="month" name="month" value="" /> 
    <input type="hidden" id="year" name="year" value="" /> 
    <input type="submit" name="submit" value="Submit" /> 
    </form> 

JQuery, который будет ставить правильные значения в форме после выбора даты DatePicker.

<script> 
    $("#datefield").datepicker({ 
     onSelect: function(dateText) { 
     var tempArray = dateText.spit('-'); // not sure if you are using - or/
     var day = $tempArray[0]; 
     var month = $tempArray[1]; 
     var year = $tempArray[2]; 
     // add that to the hidden values 
     $("#day").attr("value", day); // set the day value 
     $("#month").attr("value", month); // month 
     $("#year").attr("value", year); // year 
     } 
    }); 

    </script> 

И ваша сторона сервера:

// if the form was submitted show the results on the screen. 
if(isset($_POST['submit'])) { 
    echo $_POST['date']; // fulldate 
    echo $_POST['day']; 
    echo $_POST['month']; 
    echo $_POST['year']; 
} 

Разница между GET против POST http://www.w3schools.com/tags/ref_httpmethods.asp

Удачи!

+0

вопрос о получении данных на стороне php –

+0

@ СеменихинМаксим после нажатия кнопки отправки данных будет серверной стороной. – Radmation

0

Если вы используете formt с method="get" все его входы будут переданы datepage.php в $_GET массив Таким образом, вы можете получить доступ к вашим входам, как это:

echo $_GET['date']; 
echo '<br />'; 

echo $_GET['day']; 
echo '<br />'; 

echo $_GET['month']; 
echo '<br />'; 

echo $_GET['year']; 
echo '<br />'; 

Имейте в виду, что они хранятся в $ _GET массив, ключи в именах входов.

Ваш HTML форма:

<form action="/datepage.php" method="get"> 
    <label data-for="date">Enter Date:</label> 
    <?php $enterdate = $GET["date"]; list ($day,$month,$year) = split('[/.-]', $enterdate); ?> 
    <input type="text" id="datefield" name="date" class="datepicker" value="" autocomplete="off" /> 
    <input type="hidden" id="day" name="day" value="<?php echo $day; ?>" /> 
    <input type="hidden" id="month" name="month" value="<?php echo $month; ?>" /> 
    <input type="hidden" id="year" name="year" value="<?php echo $year; ?>" /> 
    <input type="submit" value="Submit"> 
</form> 

кнопку Отправить был добавлен в форму

Смежные вопросы