Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.01.2018, 13:09
Аватар для stormur
Новичок на форуме
Отправить личное сообщение для stormur Посмотреть профиль Найти все сообщения от stormur
 
Регистрация: 09.12.2017
Сообщений: 6

связать <textarea> с кнопкой
Помогите пожалуйста новичку!
Не прошу писать весь код, просто направьте в нужную сторону

Есть <textarea id='message' placeholder='hello!'></texarea> и кнопка <div id='button'>Send</div>

Какой код нужен для того, чтобы при вводе в <textarea> текста кнопка меняла свой цвет.

Спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 11.01.2018, 13:49
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от stormur
и кнопка <div id='button'>Send</div>
Это не кнопка...
Сообщение от stormur
Не прошу писать весь код
Сообщение от stormur
Какой код нужен для того, чтобы при вводе в <textarea> текста кнопка меняла свой цвет.
Нипанятна.

Как вариант:
- используй обработчик onkeyup на textarea
- читай значение текста в textarea
- анализируй это значение и добавляй или убирай специальный класс (типа on|off) у ДИВа с id='button'
Ответить с цитированием
  #3 (permalink)  
Старый 11.01.2018, 13:52
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

stormur,
Например, написать обработчик для textarea по событию oninput, в котором менять для div style.backgroundColor.
Можно с учетом количества введенных символов.
Ответить с цитированием
  #4 (permalink)  
Старый 11.01.2018, 15:07
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		#button{
			width: 150px;
			border: 1px solid gray;
		}
	</style>
</head>
<body>
<textarea id='message' placeholder='hello!'></textarea>
<div id='button'>Send</div>
	<script>
	var col = 1111;
	document.querySelector('#message').onkeypress=e=>{
		col++;
	document.querySelector('#button').style.backgroundColor = '#'+ col .toString(16);
};
	</script>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 11.01.2018, 15:08
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		#button{
			width: 150px;
			border: 1px solid gray;
			background-color: red;
		}
	</style>
</head>
<body>
<textarea id='message' placeholder='hello!'></textarea>
<div id='button'>Send</div>
	<script>
	document.querySelector('#message').onkeypress=e=>document.querySelector('#button').style.backgroundColor = 'green';
	</script>
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 11.01.2018, 15:17
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

j0hnik,
А если очистить textarea после заполнения, то кнопка все равно зеленая...
Ответить с цитированием
  #7 (permalink)  
Старый 11.01.2018, 15:22
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

j0hnik,
И еще: обработчик onkeypress реагирует только на клавиатуру, а oninput и на копипаст тоже.
Ответить с цитированием
  #8 (permalink)  
Старый 11.01.2018, 17:32
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Dilettante_Pro,
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		#button{
			width: 150px;
			border: 1px solid gray;
			background-color: red;
		}
	</style>
</head>
<body>
<textarea id='message' placeholder='hello!'></textarea>
<div id='button'>Send</div>
	<script>
	document.querySelector('#message').oninput=e=>document.querySelector('#button').style.backgroundColor = e.target.value?'green':'red';
	</script>
</body>
</html>
Ответить с цитированием
  #9 (permalink)  
Старый 11.01.2018, 17:36
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

j0hnik,
Красота
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как кнопкой остановить SetInterval? gooodwin67 Общие вопросы Javascript 3 20.10.2017 08:13
Ext.js 4.2. Как связать кнопки с таблицей? shmihshmih ExtJS 2 21.06.2015 22:54
Связать select и radio abm jQuery 6 30.08.2014 13:56
Две разные веб формы одной кнопкой. nikeyb Events/DOM/Window 3 14.03.2014 09:34
сломался клик средней кнопкой Gvozd Сайт Javascript.ru 8 08.06.2012 17:57