Подскажите, что я сделал не так...
Описывается реакция на событие 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%";
}
}
}
}
|
Fomax,
if(mailandpass[i].value==""){ потому что i в строке 4 всегда 2 -- а такого элемента у вас нет. |
:cray: косяком пошли ...
http://javascript.ru/forum/misc/6505...tml#post429524 |
Еще вот так можно сократить
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="";
}
}
|
| Часовой пояс GMT +3, время: 19:40. |