автоввод даты в поле при изменении другого поля
здрасьте, люди.
я полнейший нуб в джаваскрипте и даже прочтение учебника мне не помогло понять, откуда мне ковырять проблему (((( ткните пальцем, если не трудно. есть страница, на которой всего два поля: 1) выпадающий список 2) поле в котором надо отображать дату (пустое) Задача: при изменении значения выпадающего списка №1, вставлять текущую дату в поле№2. я написал такой код:
//функция получающая второе поле и вставляющая туда дату
function updateDate(){
var date = document.getElementsByName('dateField');
date[0].value = new Date();
}
//код, получающий первое поле и на его изменении вызывающий функцию
var status = document.getElementById('Status');
status.onchange = updateDate;
оно не работает, а я даже не понимаю, с какой стороны траблшутить ((( сразу замечу, что и айдишник и "имя" все правильные. Код скрипта правильно вписан в страницу. Весь код страницы выложить не могу, т.к. это секретные марсианские разработки. :help: хоть задайте наводящие вопросы, чтоб я понимал, как научиться фиксить неработающий JS ((( с плюсами и жабой всё проще - или компилятор ругается или эксэпшены сыпятся, а тут я тупо не знаю, что именно не так. спасибо |
Цитата:
И отладчик встроен практически в каждый браузер. Но в данном случае исключений не будет. Проблема в глобальных переменных. Сколько раз вам говорят: не объявляйте глобальные переменные без необходимости. В этом коде вы пытаетесь переопределить window.status - отсюда и проблемы.
<!DOCTYPE html>
<select id="Status">
<option value="1">Опшн 1</option>
<option value="2">Опшн 2</option>
</select>
<input type="text" name="dateField" />
<script>
// оборачиваем в анонимную функцию - новую область видимости
(function(){
//функция получающая второе поле и вставляющая туда дату
function updateDate(){
var date = document.getElementsByName('dateField');
date[0].value = new Date();
}
//код, получающий первое поле и на его изменении вызывающий функцию
var status = document.getElementById('Status');
status.onchange = updateDate;
})();
</script>
|
сенсей, это магия! буду изучать, спасибо ))
|
| Часовой пояс GMT +3, время: 19:58. |