Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Длина радиокнопок (https://javascript.ru/forum/dom-window/36071-dlina-radioknopok.html)

Nicki 03.03.2013 12:51

Длина радиокнопок
 
У меня не получается вывести длину для радиокнопок. Скорее всего, неверно задаю команду. Как исправить надо, может ли кто помочь?

o=document.fr.rado.length;

function checkx() { 
    var er=''; 
    var i,j,k,v,o,ok,rado;        
    for(i=0; i<22; i++) { 
        v=document.fr.vopros[i].value; 
        k=i+1;
        er+=k+" "+v+'\n';        
        alert(er);        
switch(v) {
case "radio":
    rado="rad["+k+"]"; 
    ok=false;
    alert(rado);
    o=document.fr.rado.length;
    alert(o);
        for(j=0; j<o.length; j++) {    
            if (o[j].checked) {
                ok=true; 
                break;
            };
        };
        if (!ok) {
             er+='კითხვა '+i+'\n'; 
        }; 
  break;
case "check":
 // alert(v);
  break;
case "text":
//  alert(v);
  break;  
}          
    }  
        alert(er);      
}

</script>


<div class="line1">
	<span>Вопрос 4: </span>     
	<input type="hidden" name="vopros" value="check" />                            
</div>
<div class="line1">
	<input type="checkbox" name="box[0]" value="11">
	<input type="hidden" name="boxo" value=" Chk 1 " /><span> Chk 1</span>                                                     
</div>
<div class="line1">
	<input type="checkbox" name="box[0]" value="12">
	<input type="hidden" name="boxo" value=" Chk 2 " /><span> Chk 2</span>                                                     
</div>
<div class="line1">
	<input type="checkbox" name="box[0]" value="13">
	<input type="hidden" name="boxo" value=" Chk 3 " /><span> Chk 3</span>                                                     
</div>
<div class="line1">
	<span> Вопрос 5:</span>     
	<input type="hidden" name="vopros" value="radio" />                            
</div>
<div class="line1">
	<input type="radio" name="rad[5]" id="14" value="14">	<span>Radio 1</span>                                                     
</div>
<div class="line1">
	<input type="radio" name="rad[5]" id="15" value="15">	<span>Radio 2</span>                                                     
</div>
<div class="line1">
	<input type="radio" name="rad[5]" id="16" value="16">	<span>Radio 3</span>                                                     
</div>

Nicki 03.03.2013 13:06

С длиною разобралась, столько раз переделала, что не заметила, что что-то не то написала.

Теперь надо будет разобраться, почему цикл до конца не идет. Но пока сама буду пытаться разбираться.


var er=''; 
    var i,j,k,v,o,d,ok,rado;        
    for(i=0; i<22; i++) { 
        v=document.fr.vopros[i].value; 
        k=i+1;
        er+=k+" "+v+'\n';        
        alert(er);        
switch(v) {
case "radio":
    rado="rad["+k+"]"; 
    ok=false;
    alert(rado);
    o=document.getElementsByName(rado);
    d=o.length;
    alert(d);
        for(j=0; j<d; j++) {    
            if (d[j].checked) {
                ok=true; 
                break;
            };
        };
        if (!ok) {
             er+='კითხვა '+i+'\n'; 
        }; 
  break;
case "check":
 // alert(v);
  break;
case "text":
//  alert(v);
  break;  
}          
    }  
        alert(er);      
}

Deff 03.03.2013 14:06

Цитата:

Сообщение от Nicki
У меня не получается вывести длину для радиокнопок.

Вообще то длина и высота у радиокнопок стандартная, 13px и она не устанавливается (кроме старых ИЕ) через стиль

Nicki 03.03.2013 15:03

я не пикселы имела ввиду, а число радиокнопок.

danik.js 03.03.2013 15:11

свойство length имеется как у массивов, так и у массиво-подобных объектов, типа Arguments, NodeList, HTMLCollection, DOMTokenList и т.п.

ksa 03.03.2013 19:45

Цитата:

Сообщение от Nicki
Теперь надо будет разобраться, почему цикл до конца не идет.

Для этого нужен нормальный тестовый пример...


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