Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   JS очистить чекбоксы (https://javascript.ru/forum/misc/11094-js-ochistit-chekboksy.html)

TSprinter 06.08.2010 11:53

JS очистить чекбоксы
 
Имеем набор чекбоксов на странице. Нужно при нажатии на ссылку их всех выставить в unchecked
Имеем примерно следующий код:

function _chk2(o,s,n){	
	var i=1;
        var o2;
	do { 
		o2=o.elements[s+i];
		if(!o2)return;	
		o2.checked=n?true:false;
		i++;
	} while i>10000;
}



Где параметры:
o - форма
s - имя объекта на форме - например check + номер объекта. Т.е. реальное имя например = check1
n - что сделать - поставить галку или убрать ее...

Но оно не работает :-)
Что не так?
И еще подскажите как вообще проверить код явы - FireBug *.JS файлы просто не подцепляет при ошибке. Так что нужен некий валидатор для JS файлов отдельно. Либо хз...

Kolyaj 06.08.2010 12:13

Цитата:

Сообщение от TSprinter
Где параметры:
o - форма
s - имя объекта на форме - например check + номер объекта. Т.е. реальное имя например = check1
n - что сделать - поставить галку или убрать ее...

А были бы названия у переменных нормальные, этот текст был бы не нужен.

Цитата:

Сообщение от TSprinter
while i>10000;

У вас i никогда не будет больше 10000.

TSprinter 06.08.2010 12:22

Исправил. Не подцепляется - что то с синтаксисом :-)

exec 06.08.2010 12:27

http://javascript.ru/do..while

TSprinter 06.08.2010 12:51

Спасибо - помогло.
Немного модифицировал скрипт и он перестал работать.

function _chk2(o,s,n){	
	var i=1;
	var o2;
	do { 
		o2=o.elements['check'+i];
		if(!o2)return;	
		o2.checked=false;
		i++;
	} while (i<10000);
	i = 1;
	do { 
		o2=o.elements['remove'+i];
		if(!o2)return;	
		o2.checked=false;
		i++;
	} while (i<10000);
	i = 1;
	do { 
		o2=o.elements['reject'+i];
		if(!o2)return;	
		o2.checked=false;
		i++;
	} while (i<10000);
	i = 1;
	do { 
		o2=o.elements[s+i];
		if(!o2)return;	
		o2.checked=n?true:false;
		i++;
	} while (i<10000);
}


Что не так? Нельзя складывать строки константы с числами?

JsLoveR 06.08.2010 14:32

TSprinter,
function clearCheckBoxes() {
	var form=document.forms['main_form'];
	for(var i=0;i<form.elements.length;i++) {
		if(form.elements[i].checked) {
			form.elements[i].checked=false;
		}
		
	}
}

<form name="main_form">
<input type="checkbox" checked="checked"/><br/>
<input type="checkbox" checked="checked"/><br/>
<input type="checkbox" checked="checked"/><br/>
<input type="checkbox" checked="checked"/><br/>
</form>
<p onclick="clearCheckBoxes()">кликни</p>


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