Не отображается значение даты для поля ввода

#javascript #php #jquery #ajax

Вопрос:

У меня есть два поля даты ввода. Мне нужно второе значение поля даты ввода, основанное на выборе первого поля даты ввода.

HTML:-

 <label>First input date </label>
<input type="date" name="job_date" id="job_date"  style="width:100%;" required>

<label>Second input date </label>
<input type="date" name="due_date" id="due_date" style="width:100%;" required>
 

Скрипт:-

 <script type="text/javascript">

$('#job_date').change(function(){
    
    var pazdate = $('#job_date').val();
    
    $.ajax({
     url: 'ajax1.php',
    type:'POST',
    data: {pazdate: $('#job_date').val()},
    success: function(data) {
        $('#due_date').val(data);

    }
    
 });
 
});

</script>
 

Форма PHP

 <?php
if (isset($_POST['pazdate']))
{
    $currentDateTime = $_POST['pazdate'];
    $nextdue_date = strtotime(" 12hours", strtotime($currentDateTime));
    $due_date = date("m/d/Y", $nextdue_date);
    echo $due_date;
    
}

?>
 

Любая помощь будет очень признательна.

Комментарии:

1. Когда вы говорите "Date value not working for Input Date Field" — не могли бы вы уточнить, что вы имеете в виду, пожалуйста? Нормально ли функция AJAX извлекает значение? Есть ли ошибки? due_date Не отображается ли возвращаемое значение?

2. <input type="date" /> -> > » value : Строка DOMString, представляющая дату в формате ГГГГ-ММ-ДД или пустая»

3. @ProfessorAbronsius Не показывает значение даты для поля ввода. Функция Ajax в порядке. похоже, функция ajax работает. но значение due_date не возвращается для второго поля даты ввода.

4. @hyperort используйте console.log(data) и проверьте, какое значение вы получаете от сервера?

5. @NotABot да, я получил следующую ошибку в консоли:- не соответствует требуемому формату «гггг-ММ-дд».

Ответ №1:

Как сказал Андреас, вы получаете значение из своей формы в формате ГГГГ-ММ-ДД, но возвращаетесь из ajax1.php формат m/d/Y. Это не сработает. Код в порядке, просто измените формат даты в файле PHP и ничего больше.

Комментарии:

1. итак, могу ли я изменить формат для Y/m/d, если я прав?

2. Вы можете вернуть правильный формат из ajax, и «due_date» поймает его без проблем. $due_date = дата(«Y-m-d», $nextdue_date);

3. Привет, Элика, спасибо за ваш ответ. теперь я могу переодеться в соответствии с вашими инструкциями. проблема все еще сохраняется, и другое дело, что значение, возвращаемое текстовым полем, успешно, но когда дело доходит до поля даты, оно не работает