Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не выделяются чекбоксы в Opera и Firefox (https://javascript.ru/forum/events/17935-ne-vydelyayutsya-chekboksy-v-opera-i-firefox.html)

Рон 09.06.2011 14:38

Не выделяются чекбоксы в Opera и Firefox
 
function sd_checkbox_status(_form_name,_status,_name)
// form_name - название формы
// status - присвоить статус; 0 - все отменить. 1 - всем включить; 2 - поменять местами
// name - имя checkbox`s (чекбоксов)
{ // делаем короткий объект для обращений к форме
 var f=document.getElementById(_form_name);
 var name_='';
 var str='';
 name_=(typeof(_name)=='undefined')?'del':_name;// служит для сокращения писанины на формах
 for (i=1;i<=f.length;i++)// пройтись по всем элементам на HTML форме
 { if (f.elements[i-1].type=='checkbox')// если тип элемента checkbox, то
  { str=f.elements[i-1].name;
   if (sdf_str_pos(str,name_)<1) { continue; }// если checkbox не подходящий
   switch(_status)
   { case(0): { f.elements[i-1].checked=false; break; }// сбрасываем значения
     case(1): { f.elements[i-1].checked=true; break; }// устанавливаем значения
     case(2): { f.elements[i-1].checked=!f.elements[i-1].checked; break; }// меняем местами
   }
  }
 }
 }


Нашел скрипт в интернете, выделяющий все чекбосы на странице. Пользуюсь HtmlPad2010 для написания кода. Так вот в нем в предвар. просмотре все работает, и IE6 тоже. В Opera и Firefox, чекбоксы категорически не хотят выделяться(

ksa 09.06.2011 15:05

Цитата:

Сообщение от Рон
Нашел скрипт в интернете, выделяющий все чекбосы на странице.

Дюже "закрученый" скрит-то для такой простой задачки... :)

Рон 10.06.2011 13:40

Цитата:

Сообщение от ksa (Сообщение 107936)
Дюже "закрученый" скрит-то для такой простой задачки... :)

Согласен, но разве это поэтому не работает?:)

evgh 10.06.2011 20:16

я когда-то таким кодом пользовался....не уверен что идеальный, но ...
<form method="post" action="">
<input type="checkbox" name="total" onClick="checkAll(this.form)">Отметить
<input name="Name1" type="checkbox">
<input name="Name2" type="checkbox">
<input name="Name3" type="checkbox">
<input name="Name4" type="checkbox">
<input name="Name5" type="checkbox">
<input name="Name6" type="checkbox">
<input type="submit" value="Send">
</form>
function checkAll(d){
var c=d.getElementsByTagName('input');
for (var i=0; i<c.length; i++)
if (c[i].type=='checkbox') c[i].checked = c[0].checked;
}

хотя это не ответ на твой вопрос :cray:

ИМХО очень стрёмный скрипт ты нашёл...мне такие в своё время не попадались

Рон 20.06.2011 19:09

ну че хороший скрипт))
Но у меня чуток по другому)
function check(){
      for (var i = document.getElementsByName('del').length - 1; i >= 0; i--){
          var z = document.getElementsByName('del')[i];
          if(!z.checked) {z.checked = true;}
      }


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