Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.09.2018, 23:35
Аватар для kusnecow
Интересующийся
Отправить личное сообщение для kusnecow Посмотреть профиль Найти все сообщения от kusnecow
 
Регистрация: 03.08.2017
Сообщений: 12

Как подвесить события к полученным по атрибутам name через this инпутам
Подскажите, как подвесить события к полученным по атрибутам name через this инпутам

<script>

window.onload = function(e) {
var buttons = document.querySelectorAll('.actions input');
for (var i = 0; i < buttons.length; i++) {
buttons[i].onclick = btnClick;
}

}
function btnClick(e) {
var name = this.getAttribute ('name');

if ( name == 'save') {
console.log(1);
}
else if ( name == 'delete') {
console.log(2);
}
}

</script>
Ответить с цитированием
  #2 (permalink)  
Старый 18.09.2018, 23:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 24,850

kusnecow,
подожду переводчика
и
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 18.09.2018, 23:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 24,850

kusnecow,
что не работает или хочется сделать?
Ответить с цитированием
  #4 (permalink)  
Старый 19.09.2018, 00:56
Аватар для kusnecow
Интересующийся
Отправить личное сообщение для kusnecow Посмотреть профиль Найти все сообщения от kusnecow
 
Регистрация: 03.08.2017
Сообщений: 12

<div class="actions">
		<input type="button" name="save" value="сохранить"/>
		<input type="button" name="delete" value="удалить"/>
	</div>

var buttons = document.querySelectorAll('.actions input');
	for (var i = 0; i < buttons.length; i++) {
		buttons[i].onclick = btnClick;
	}

			}
			function btnClick(e) {
				var name = this.getAttribute ('name');
				
				if ( name == 'save') {
					console.log(1);
				}
				else if ( name == 'delete') {
					console.log(2);
				}

не знаю как подвесить события при нажатии на кнопки
Ответить с цитированием
  #5 (permalink)  
Старый 19.09.2018, 00:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 24,850

Сообщение от kusnecow
не знаю как подвесить события при нажатии на кнопки
не могу осилить, подожду знатоков.
Ответить с цитированием
  #6 (permalink)  
Старый 19.09.2018, 01:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 24,850

kusnecow,
всё у вас работает, что ещё не хватает?
Ответить с цитированием
  #7 (permalink)  
Старый 19.09.2018, 01:08
Аватар для kusnecow
Интересующийся
Отправить личное сообщение для kusnecow Посмотреть профиль Найти все сообщения от kusnecow
 
Регистрация: 03.08.2017
Сообщений: 12

не хватает мозгов как например поменять бекграунд кнопок при нажатии. если вешать на name, отладчик пишет что TypeError: name.classList is undefined
Ответить с цитированием
  #8 (permalink)  
Старый 19.09.2018, 01:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 24,850

kusnecow,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
      .red {
          background-color: #FF0000;
      }

  </style>

</head>

<body>
<div class="actions">
		<input type="button" name="save" value="сохранить"/>
		<input type="button" name="delete" value="удалить"/>
	</div>

<script>

 window.onload = function(e) {
var buttons = document.querySelectorAll('.actions input');
for (var i = 0; i < buttons.length; i++) {
buttons[i].onclick = btnClick;
}

}
function btnClick(e) {
var name = this.getAttribute('name');

if ( name == 'save') {
this.classList.add("red");

}
else if ( name == 'delete') {
alert(2);
}
}

 </script>

</body>
</html>
Ответить с цитированием
  #9 (permalink)  
Старый 19.09.2018, 02:07
Аватар для kusnecow
Интересующийся
Отправить личное сообщение для kusnecow Посмотреть профиль Найти все сообщения от kusnecow
 
Регистрация: 03.08.2017
Сообщений: 12

О КРУТО, СПАСИБО)
Ответить с цитированием
  #10 (permalink)  
Старый 19.09.2018, 06:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 9,491

Сообщение от рони
var name = this.getAttribute('name');
А почему не просто this.name ?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как передать php массивы через ajax Evsik AJAX и COMET 11 11.07.2015 07:32
Как в обработчик php через Ajax передать несколько значений? Urukhay Общие вопросы Javascript 2 30.08.2014 16:19
Как скачать файл через JS? Dimaz Events/DOM/Window 9 20.07.2014 22:20
Как через динамическую втавку в страницу автоматически вызвать функцию javascript? Roberts AJAX и COMET 2 19.03.2013 11:32
отправка файла через обработчик события submit starrich AJAX и COMET 2 13.08.2008 22:29