Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как скрыть одну форму для комментария при заполнении другой?

Ира R Ученик (89), на голосовании 1 год назад
у меня есть форма для ответа на отзыв, как сделать так, чтобы другие формы не открывались(не были активными), пока я заполняю одну из них.
вот скрипт:
<script>

var coll = document.getElementsByClassName("collapsible");
var i;

for (i = 0; i < coll.length; i++) {
coll[i].addEventListener("click", function () {
this.classList.toggle("active");
var content = this.nextElementSibling;
if ( content.style .display === "block") {
content.style .display = "none";
} else {
content.style .display = "block";
}
});
}


</script>
Голосование за лучший ответ
Bulat_Almukhametov Мастер (1160) 1 год назад
Получи сначала предыдущий активный элемент, если найден, то убери у него класс active.
Вместо этого уродства
 if ( content.style .display === "block") {  
content.style .display = "none";
} else {
content.style .display = "block";
}
сделай все на css, для этого селектор "+" используется.
И обработчик клика на все элементы накидывать необязательно. Это делается на самый верхний элемент и в самом обработчике через таргет получается текущий. Почитай, что такое всплытие событий.
Похожие вопросы