#javascript #html
#javascript #HTML
Вопрос:
Я даю две даты вручную в форме, после этого есть еще одно пустое поле разница в дате должна вычисляться в днях в третьем поле динамически с помощью Java script для меня это работает, когда я нажимаю кнопку отправки и использую свойство кнопки отправки, но я хочу, чтобы оно было рассчитано после ввода второй даты ввторое поле, и оно должно отображаться в третьем поле, вот мой код…. пожалуйста, помогите мне здесь..
Скрипт
function dateDiff() {
date1 = new Date();
date2 = new Date();
diff = new Date();
date1temp = new Date(dateform.firstdate.value);
date1.setTime(date1temp.getTime());
date2temp = new Date(dateform.seconddate.value);
date2.setTime(date2temp.getTime());
diff.setTime(Math.abs(date1.getTime() - date2.getTime()));
timediff = diff.getTime();
days = Math.floor(timediff / (1000 * 60 * 60 * 24));
dateform.difference.value = days;
return false;
}
HTML
<form>
<fieldset>
<label for="Enter leave starting date">Enter leave starting date
<input type="text" name="firstdate" />
</label>
<label for="Enter leave ending date">Enter leave ending date
<input type="text" name="seconddate" onkeyup="return dateDiff();" />
</label>
<label>
Date Difference (in days): <input type=text name=difference>
</label>
</fieldset>
</form>
Комментарии:
1. можете ли вы поделиться скрипкой этого?
2. Итак, вам просто нужен триггер, когда вычислять разницу дат?
3. вот скрипка jsfiddle.net/lahmf/byJKg
4. да, когда мы вводим дату во второе поле, она должна динамически вычислять разницу в днях и должна отображаться в третьем поле ввода, чего я так хочу… я новичок в Java script
5. Как вы сказали, у вас есть рабочий скрипт с кнопкой отправки, можете ли вы создать jsfiddle с этим?
Ответ №1:
На самом деле, код работает…единственное, что вам нужно, это присвоить форме имя, которое вы используете в скрипте
<form name="dateform">
…. я протестировал это на вашей скрипке, это работает как шарм: http://jsfiddle.net/byJKg/5/
… жестко, возможно, вы захотите проверить, не является ли datediff NaN
if(!isNaN(days)){
dateform.difference.value = days;
}
[править] …я только что увидел, что это была не ваша скрипка …. но скрипка, опубликованная Феликсом Ламером, с вашим исходным кодом