Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Подсчет возраста с помощью form (https://javascript.ru/forum/server/38459-podschet-vozrasta-s-pomoshhyu-form.html)

Мария21 02.06.2013 21:24

Подсчет возраста с помощью form
 
У меня не получается посчитать количество прожитых лет, месяцев, часов, минут и секунд, подскажите пожалуйста что не так и как вывести результат в Textarea?

Задание звучит так:
Создайте Web-страницу, в которой определяется количество прожитых лет, месяцев, часов, минут и секунд. Дата рождения вводится следующим образом: номер дня в месяце и наименование месяца – в раскрывающихся меню, а год – в текстовом поле. При нажатии кнопки "Статистика" в пяти текстовых полях выводится соответственно количество прожитых лет, месяцев, часов, минут и секунд.

<form name=myForm>Какого числа вы родились <br>
<select name="day">
<option value="1">1</option> <option value="2">2</option> <option value="3">3</option>
<option value="4">4</option> <option value="5">5</option> <option value="6">6</option>
...
<option value="22">28</option> <option value="23">29</option> <option value="24">30</option>
<option value="22">31</option>
</select><br>
Какого месяца вы родились <br>
<select name="month">
<option value="я">Январь</option> <option value="ф">Февраль</option> <option value="м">Март</option>
<option value="а">Апрель</option> <option value="М">Май</option> <option value="и">Июнь</option>
<option value="И">Июль</option> <option value="А">Август</option> <option value="с">Сентябрь</option>
<option value="о">Октябрь</option> <option value="н">Ноябрь</option> <option value="д">Декабрь</option>
</select><br>
В каком году вы родились?
<input type="text" name="year"><br>
<input type="button" value="Статистика" onClick="Do()"><br>
</form>

<script>
function Do(){
var t=new Date()
var result1=t-(document.myForm.day.value);
var result2=t-(document.myForm.month.value);
var result3=(2013-(document.myForm.year.value));
alert("Вы прожили "+result3+" лет "+result2+" месяцев "+result1+" дней")
}
</script>

deivan 04.06.2013 13:52

во-1, форма для такой задачи не нужна.
во-2, "<option value="ф">" -- не надо так делать, используйте цифры начиная с нуля.
во-3, вы неправильно понимаете математику дат, грубо говоря, дату рождения и текущее время нужно будет перевести в юникс-тайм, найти разницу и потом от полученного количества миллисекунд вернуться к дням/годам/месяцам и иже с ними


Часовой пояс GMT +3, время: 04:05.