Ajax отображает количество дней между двумя датами (входной тег) без отправки

#php #jquery #ajax

#php #jquery #ajax

Вопрос:

Я создаю систему, которая позволяет пользователю вводить две даты. Затем система возвращает вычисление, например, сколько понедельников между двумя датами.

Изображение проблемы

Мне дана начальная дата и конечная дата. В сером вводе, то есть в режиме только для чтения, я должен вернуть количество дней (понедельник) между этими двумя датами, и все это без необходимости нажимать что-либо.

Я ввожу даты, и они автоматически вычисляются. Я создал php-функцию, которая работает, мне нужна помощь, потому что я не эксперт по ajax.

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

1. Добро пожаловать в SO. Пожалуйста, будьте более конкретны в своем вопросе. Что вы сделали до сих пор? С чем именно вам нужна помощь? Что вы пытались до сих пор?

2. Вы имеете в виду, что как только будет введена вторая дата, она будет автоматически рассчитана? Посмотрите на события ввода или ввода, чтобы вы могли определить, когда в поле происходит изменение. Не уверен, что вы подразумеваете под режимом только для чтения?? А также название вопроса, похоже, не имеет никакого отношения к содержимому, если, опять же, вы не можете уточнить?

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

4. Для этого вам не обязательно нужен ввод только для чтения, вы можете просто вывести его в div или span или любой другой элемент, который уже доступен только для чтения. Но в остальном да, вам просто нужно обработать правильные события в полях даты

Ответ №1:

Используйте пример setinterval setInterval(function(){ alert("Hello"); }, 3000);

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

1. Таким образом, вы выполняете AJAX -вызов каждые 3 секунды , даже если в форме не было предоставлено никаких данных ?

2. разве вы не проверяете сначала, заполнены ли входные данные, а затем запускаете ajax-запрос

3. $(document).ready(function() { setInterval ( test, 3000 ); }); function test(){ var stard=$('#stard').val(); var end=$('#end').val(); if(end!=undefined amp;amp; stard!=undefined){ // code ajax } }