Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   упростить, но и усложнить код (https://javascript.ru/forum/dom-window/20980-uprostit-no-i-uslozhnit-kod.html)

Александр х@к 24.08.2011 18:46

упростить, но и усложнить код
 
есть такой код
function checkForm() {
    var res  = true;
    var form = document.getElementById('form1');   
    if(form.email.value == '') { // email это <input type='text' name='email'>
        res = false;
        form.email.style.backgroundColor = '#ff0000';
    }
    return res;
}

Нашёл код, который:на сайте есть поля для заполнения(три из них обязательные для заполнения),если хоть одно не заполнено,оно выделяется красным.

А мне надо:
У меня на сайте есть 13 полей для заполнения. 1 строка у меня с выбором : Создать сайт, Раскрутить, Взять в аренду.
ЕСЛИ в строке 1 выбрать Создать сайт, то должны красным цветом засветиться поля №2-11.
ЕСЛИ в строке 1 выбрать Раскрутить, то красным цветом должно засветиться строки № 2,4 и 13
ЕСЛИ в строке 1 выбрать Взять в аренду, то должно засветиться красным строки №2 и 12

Помогите.

melky 24.08.2011 19:16

циклы... отслеживаем клик.(не знаю,что там за элемент "Раскрутить")
потом проходимся по указанным элементам и изменяем им backgroundColor на красный.

Александр х@к 24.08.2011 20:08

Цитата:

Сообщение от melky (Сообщение 122182)
циклы... отслеживаем клик.(не знаю,что там за элемент "Раскрутить")
потом проходимся по указанным элементам и изменяем им backgroundColor на красный.

Как отследить цикл, я ещё новичёк в джаве

Sweet 24.08.2011 20:14

Джава тут не поможет:)

yashka525 24.08.2011 20:21

Цитата:

Сообщение от Александр х@к
1 строка у меня с выбором

Вот на эту строку повесте событие onchange, а дальше в функции проверяем:
if (...value = 'Создать сайт'){/*меняем цвет в поле 2,3, и т.д.*/}

Александр х@к 24.08.2011 21:09

yashka525, а можно полный код, плизз

yashka525 24.08.2011 21:32

<select id="choose" onchange="ChangeColor()">
<option value="" disabled="disabled">--------</option>
<option value="NewSite">Создать сайт</option>
<option value="Rent">Взять в аренду</option>
</select>
<input id="1" />
<input id="2" />
<input id="3" />
<input id="4" />
<input id="5" />
<script>
function ChangeColor(){
	var option = document.getElementById('choose').value, 
	one = document.getElementById('1'), 
	two = document.getElementById('2'), 
	three = document.getElementById('3'), 
	four = document.getElementById('4'), 
	five = document.getElementById('5');
	one.style.backgroundColor = two.style.backgroundColor = three.style.backgroundColor = four.style.backgroundColor = five.style.backgroundColor = 'white';
	if (option == 'NewSite'){
		one.style.backgroundColor = three.style.backgroundColor = five.style.backgroundColor = 'red';
	}
	else if (option == 'Rent'){
		two.style.backgroundColor = four.style.backgroundColor = five.style.backgroundColor = 'red';
	}
}
</script>

Сорри за такой код, там можно все легче сделать, просто нет времени писать, но смысл таков.

Александр х@к 24.08.2011 21:36

yashka525 спасибо то что нужно


Часовой пояс GMT +3, время: 13:57.