Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/34: Рейтинг темы: голосов - 34, средняя оценка - 4.91
87 / 30 / 19
Регистрация: 16.01.2015
Сообщений: 250

Событие по нажатию на кнопку

24.07.2015, 08:02. Показов 6371. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На странице есть кнопка. Нужно, чтобы по нажатию на неё выводилось сообщение. Вот мой код.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
</head>
<script type="text/javascript">
function onClicl_btn1(){
  var button = document.getElementById('btn1');
  button.addEventListener("click", function(){
    alert('yahuuu');
  });}
 
  window.onload = onClicl_btn1()
</script>
<body>
    <div>
        <button id="btn1"></button>
    </div>
    <div id="result">
        
    </div>
</body>
</html>
Если вставить в консоль(в браузере)
JavaScript
1
2
3
var button = document.getElementById('btn1');
  button.addEventListener("click", function(){
    alert('yahuuu');
-> по нажатию на кнопку всё появляется. А если в код страницы вставить, то Firebug пишет такую ошибку:
TypeError: button is null
и указывает на эту строку, стрелочкой на слово button -> button.addEventListener("click", function(){
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.07.2015, 08:02
Ответы с готовыми решениями:

Событие по нажатию на кнопку
У меня есть поле input . как сделать чтобы каждый раз как я ввел какую-нибудь буквы в него появлялся alert c сообщением ?

Как обрабатывать событие по клику мыши и нажатию на кнопку на клавиатуре
Всем доброго времени суток ! Осваиваю обработку событий с клавиатуры . У меня получилось чтобы при нажатии Left Ctrl + S выводилось...

На форме создать кнопку и по нажатию на эту кнопку открыть фотографию
Салют всем форумчанам! Помогите мне! Как реализовать следующую задумку - на форме создать кнопку и по нажатию на эту кнопку окрывается...

6
Диванный эксперт
Эксперт С++
 Аватар для Max Dark
2550 / 2064 / 971
Регистрация: 09.10.2013
Сообщений: 4,793
Записей в блоге: 4
24.07.2015, 08:11
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
</head>
<script type="text/javascript">
function onClicl_btn1(){
  var button = document.getElementById('btn1');
  button.addEventListener("click", function(){
    alert('yahuuu');
  });}
 
</script>
<body onload="javascript:onClicl_btn1();"> <!-- <<<< -->
    <div>
        <button id="btn1"></button>
    </div>
    <div id="result">
        
    </div>
</body>
</html>
1
87 / 30 / 19
Регистрация: 16.01.2015
Сообщений: 250
24.07.2015, 08:25  [ТС]
Cra3y, спасибо за вариант. Но разрешено кодить только между тегами <script> </script>.
Ваш способ работает. Не пойму, почему мой не работает, странно.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
24.07.2015, 08:31
Лучший ответ Сообщение было отмечено Hikaru как решение

Решение

уберите конечную пару круглых скобок из строки #13, вот так -- window.onload = onClicl_btn1;
вот тогда функция onClicl_btn1 будет у вас назначаться на событие окончания загрузки окна, а сейчас, со скобками, она у вас пытается исполниться, чего сделать не может в принципе, ибо тег с id="btn1" на этот момент скрипту ещё недоступен
1
Диванный эксперт
Эксперт С++
 Аватар для Max Dark
2550 / 2064 / 971
Регистрация: 09.10.2013
Сообщений: 4,793
Записей в блоге: 4
24.07.2015, 08:33
Лучший ответ Сообщение было отмечено Hikaru как решение

Решение

Цитата Сообщение от Hikaru Посмотреть сообщение
Но разрешено кодить только между тегами <script> </script>.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
</head>
<script type="text/javascript">
function onClicl_btn1(){
  var button = document.getElementById('btn1');
  button.addEventListener("click", function(){
    alert('yahuuu');
  });}
window.onload = onClicl_btn1/*()*/; // у вас тут вызов функции до определения btn1
</script>
<body>
    <div>
        <button id="btn1"></button>
    </div>
    <div id="result">
        
    </div>
</body>
</html>
1
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
24.07.2015, 08:42
ну а вообще у вас странноватый код
при назначение функции на событие load окна используете один способ, а при назначении функции на событие click по кнопке почему-то используете другой способ

ошибки тут нет, но как-то это неединообразно
либо в обоих случаях объект.onсобытие = функция,
либо в обоих случаях объект.addEventListener ('событие', функция)
0
87 / 30 / 19
Регистрация: 16.01.2015
Сообщений: 250
24.07.2015, 08:43  [ТС]
Спасибо за разъяснение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.07.2015, 08:43
Помогаю со студенческими работами здесь

Сделать по нажатию на 1-ую кнопку открытие формы2 на указанной записи, а на 2-ую кнопку - формы2 на новой
Здравствуйте, возник вопрос..., не буду тянуть кота за хвост. В общем: на главной форме есть 2 кнопки, также имеется вторая форма ...

Событие по нажатию
Доброго времени суток. Подскажите зеленому: у меня есть ссылка якорь. Она направляет на другую страницу сайта. Как сделать что бы при...

Событие по нажатию клавиши
Доброго времени суток. Нужно создать событие по нажатии enter: Procedure TForm1.KeyDown(Sender: TObject; var Key: Word; Shift:...

Событие по нажатию клавиш
привет, друзья! в Excel необходимо выполнять бесконечную программу: Code1, после &quot;пробела&quot;, Code2 и т.д., а если нажать...

Событие по нажатию клавиши
Вопрос чайника Пример: Имеется элемент textbox, куда вводится пароль. А так же есть button &quot;готово&quot; Необходимо, чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru