Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.03.2013, 15:33
Новичок на форуме
Отправить личное сообщение для js_nub Посмотреть профиль Найти все сообщения от js_nub
 
Регистрация: 24.03.2013
Сообщений: 2

автоввод даты в поле при изменении другого поля
здрасьте, люди.
я полнейший нуб в джаваскрипте и даже прочтение учебника мне не помогло понять, откуда мне ковырять проблему ((((
ткните пальцем, если не трудно.

есть страница, на которой всего два поля:
1) выпадающий список
2) поле в котором надо отображать дату (пустое)
Задача:
при изменении значения выпадающего списка №1, вставлять текущую дату в поле№2.

я написал такой код:

//функция получающая второе поле и вставляющая туда дату

function updateDate(){
	var date = document.getElementsByName('dateField');
	date[0].value = new Date();
}

//код, получающий первое поле и на его изменении вызывающий функцию

var status = document.getElementById('Status');
status.onchange = updateDate;


оно не работает, а я даже не понимаю, с какой стороны траблшутить (((

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

хоть задайте наводящие вопросы, чтоб я понимал, как научиться фиксить неработающий JS (((
с плюсами и жабой всё проще - или компилятор ругается или эксэпшены сыпятся, а тут я тупо не знаю, что именно не так.

спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 24.03.2013, 16:07
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от js_nub
эксэпшены сыпятся
В JavaScript они естестественно тоже сыпятся. Открой консоль браузера (F12 или Ctrl+Shift+K смотря че за браузер)
И отладчик встроен практически в каждый браузер.

Но в данном случае исключений не будет. Проблема в глобальных переменных. Сколько раз вам говорят: не объявляйте глобальные переменные без необходимости.
В этом коде вы пытаетесь переопределить 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>
Ответить с цитированием
  #3 (permalink)  
Старый 25.03.2013, 01:49
Новичок на форуме
Отправить личное сообщение для js_nub Посмотреть профиль Найти все сообщения от js_nub
 
Регистрация: 24.03.2013
Сообщений: 2

сенсей, это магия! буду изучать, спасибо ))
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35
Выполнение скрипта при нажатии Entet в текстовм поле Vlasssov Общие вопросы Javascript 4 23.08.2009 23:31
выполнение ф-ии при изменении состояния radio MaxB Events/DOM/Window 5 24.06.2009 14:24
Выделение строки <select> при выборе другого <select> simbion Элементы интерфейса 12 05.05.2009 03:43
вывод нужного текста в текстовом поле при нажатии на кнопку! fifo4ka Общие вопросы Javascript 7 06.05.2008 13:36