Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Выделение и снятие всех чекбоксов в форме (https://javascript.ru/forum/events/59621-vydelenie-i-snyatie-vsekh-chekboksov-v-forme.html)

olegalimov 19.11.2015 17:13

Выделение и снятие всех чекбоксов в форме
 
Доброе время суток.
подскажите пожалуйста нужен скрипт только на java.
Я нашел примерный но он не работает.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
<script type="text/javascript">
var cheks=window.document.getElementById("domain").getElementsByTagName("input");
 for (var i=cheks.length-1; i>=0; i--)
 {
  if ((cheks[i].getAttribute("toCheck", 1)=="toCheck")and(cheks[i].getAttribute("type", 1)=="checkbox"))
  {
   cheks[i].checked=v;
  }
 }</script>
</head>
<body>
<form name="domain" action="" method="post">
   Что Вас больше всего интересует на нашем сайте?<br />
   <input type="checkbox" class="toCheck" name="id[]" value="1" /> Справочник HTML<br />
   <input type="checkbox" class="toCheck" name="id[]" value="2" /> Описание свойств CSS<br />
   <input type="checkbox" class="toCheck" name="id[]" value="3" /> Примеры готовых JavaScript`ов
   <br />
<input type=button onclick='selChk("")' value='Отменить' ><br />
<input type=button onclick='selChk("checked")' value='Выделить' >
</form>
</body>
</html>

ругает 10 строку.
если есть готовый рабочий скрипт, буду признателен.

laimas 19.11.2015 17:27

var cheks = document.forms.domain.elements;
for (var i = 0; i < cheks.length-2; i++)
//если кроме чекбоксов с этими классами и двух кнопок в форме более ничего нет, 
//то и проверка класса и типа не нужна
if (cheks[i].className == "toCheck" && cheks[i].type == "checkbox") ....

Mess4me 19.11.2015 17:35

olegalimov,
и в
Цитата:

Сообщение от olegalimov
<form name="domain" action="" method="post">

свойство id='domain' пропиши , а то эта строка
Цитата:

Сообщение от olegalimov
var cheks=window.document.getElementById("domain").get ElementsByTagName("input");

не будет работать

olegalimov 19.11.2015 17:36

написал так
<script type="text/javascript">
var cheks=window.document.getElementById("domain").getElementsByTagName("input");
 for (var i=cheks.length-1; i>=0; i--)
 {
if (cheks[i].className == "toCheck" && cheks[i].type == "checkbox")
  {
   cheks[i].checked=v;
  }
 }</script>

не выделяет чекбоксы и не стирает?

olegalimov 19.11.2015 17:44

Цитата:

Сообщение от Mess4me (Сообщение 396760)
olegalimov,
и в свойство id='domain' пропиши , а то эта строка
не будет работать

заменил класс на id
все ровно не работает.......

Mess4me 19.11.2015 17:59

olegalimov,
<!DOCTYPE>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Документ без названия</title>
    <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>

</head>
<body>
<form name="domain"  method="post" id="domain">

    <input type="checkbox" class="toCheck" name="id1" value="1"   />  Справочник HTML<br />
    <input type="checkbox" class="toCheck" name="id3" value="2"    /> Описание свойств CSS<br />
    <input type="checkbox" class="toCheck" name="id2" value="3"   /> Примеры готовых JavaScript`ов
    <br />
    <input type="button"  onclick="sel('checked')" value='Отменить' > <br />
    <input type="button"  onclick="sel()" value='Выделить' >
</form>

<script>
    function sel(opt) {
        var checks = document.getElementById('domain').getElementsByTagName('input');
        if(opt){
        for (var i = 0; i < checks.length; i++) {
            var check = checks[i];
            check.checked = opt;
            }
        } else {
            for (var i = 0; i < checks.length; i++) {
                var check = checks[i];
                check.checked = opt;
            }
        }
    }

</script>
</body>
</html>

Mess4me 19.11.2015 18:00

olegalimov,
<!DOCTYPE>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Документ без названия</title>
    <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>

</head>
<body>
<form name="domain"  method="post" id="domain">

    <input type="checkbox" class="toCheck" name="id1" value="1"   />  Справочник HTML<br />
    <input type="checkbox" class="toCheck" name="id3" value="2"    /> Описание свойств CSS<br />
    <input type="checkbox" class="toCheck" name="id2" value="3"   /> Примеры готовых JavaScript`ов
    <br />
    <input type="button"  onclick="sel()" value='Отменить' > <br />
    <input type="button"  onclick="sel('checked')" value='Выделить' >
</form>

<script>
    function sel(opt) {
        var checks = document.getElementById('domain').getElementsByTagName('input');
        for (var i = 0; i < checks.length; i++) {
            var check = checks[i];
            check.checked = opt;
        }
    }
</script>
</body>
</html>

olegalimov 19.11.2015 18:13

мне нужно без загрузки jquery!
такое чудо есть?

Mess4me 19.11.2015 18:25

olegalimov,
просто удалите строчку
Цитата:

Сообщение от Mess4me
  <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>


рони 19.11.2015 18:39

Mess4me,
вопрос только зачем checked кнопкам? может только class="toCheck" или type="checkbox" добавлять?


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