Javascript.RU

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

Подскажите, что я сделал не так...
Описывается реакция на событие onchange, элементы берутся через getElementsByClassName. (в моем случае получается 2 массива и в каждом по 2 элемента).

var mailandpass = document.getElementsByClassName('jsinputlog');
var ptext = document.getElementsByClassName('jsplog');


вот так все работает:

mailandpass[0].onchange = function(){
if(mailandpass[0].value==""){
	ptext[0].style.removeProperty("color");
	ptext[0].style.removeProperty("font-size");
	ptext[0].style.removeProperty("margin");
}else{
	ptext[0].style.color = "#cc1f1f";
	ptext[0].style.fontSize = "1.5vw";
	ptext[0].style.margin = "3% 17%";
}
}


(соответственно и с индексом 1 тоже работает)
__________________________________________________ _____________
а вот так не работает... может тут что то несуразное налепил, не так давно изучаю... Подскажите кто может

var i;
for(i=0; i < mailandpass.length; ++i){
	mailandpass[i].onchange = function(){
	if(mailandpass[i].value==""){
		for(i=0; i < ptext.length; ++i){
			ptext[i].style.removeProperty("color");
			ptext[i].style.removeProperty("font-size");
			ptext[i].style.removeProperty("margin");
		}
	}else{
		for(i=0; i < ptext.length; ++i){
			ptext[i].style.color = "#cc1f1f";
			ptext[i].style.fontSize = "1.5vw";
			ptext[i].style.margin = "3% 17%";
		}
	}
}
}
Ответить с цитированием
  #2 (permalink)  
Старый 23.09.2016, 21:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Fomax,
if(mailandpass[i].value==""){
потому что i в строке 4 всегда 2 -- а такого элемента у вас нет.
Ответить с цитированием
  #3 (permalink)  
Старый 23.09.2016, 21:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

косяком пошли ...
одинаковые class для каждого ajax
Ответить с цитированием
  #4 (permalink)  
Старый 24.09.2016, 13:39
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Еще вот так можно сократить

mailandpass[0].onchange = function(){

	var s = ptext[0].style; // style is object

	if(mailandpass[0].value){
		s.color = "#cc1f1f";
		s.fontSize = "1.5vw";
		s.margin = "3% 17%";
	}
	else {
		s.color="";
		s.fontSize="";
		s.margin="";
	}
}
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мотоциклисты есть? l-liava-l Оффтопик 13 04.07.2014 13:35
Баги Opera пишем сюда devote Оффтопик 101 08.08.2013 05:56
Всплытие событий или что то не так... Кирюха =) jQuery 6 30.03.2013 12:56
Мой собственный башорг в скайпе))) devote Оффтопик 81 03.10.2012 00:56
Как сделать так что бы ссылки мигали разными цветами? woo_hoo Общие вопросы Javascript 2 19.03.2010 11:28