Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / проверка RadioButton(javascript) / 9 сообщений из 9, страница 1 из 1
21.03.2007, 10:59
    #34405032
ghostWWW
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка RadioButton(javascript)
есть 3 радиобаттона:
<div id=vopros>
<input type="Radio" name="vopros" value="1">
<input type="Radio" name="vopros" value="2">
<input type="Radio" name="vopros" value="3">
</div>

<div id=vopros2 style="display:none">
<input type="Radio" name="vopros2" value="1">
<input type="Radio" name="vopros3" value="2">
</div>
<input type="Button" onclick="javascript:PR();" value="go">
нужно проверить javascript'oм выбран ли хоть один вариант или нет.Если нет то alert,если да то
document.getElementById('vopros').style.display = 'none';
document.getElementById('vopros2').style.display = '';

Собственно вопрос:как проверить выбран ли какой-нить радио?
...
Рейтинг: 0 / 0
21.03.2007, 11:11
    #34405082
Ёлкин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка RadioButton(javascript)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
function PR(){
  var sel = false;
  var vopros = document.getElementById("vopros");
  var radios  = vopros.getElementsByTagName("input");
  for(var k =  0 ; k < radios.length; k++){
    if(radios[k].type == "radio"){
      if(radios[k].checked){
        sel = true;
        break;
      }
    }
  }
  if(!sel){
    alert("not select");
  }else{
     vopros.style.display = 'none';
     document.getElementById('vopros2').style.display = 'block';                
   }
}
...
Рейтинг: 0 / 0
21.03.2007, 11:31
    #34405154
ghostWWW
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка RadioButton(javascript)
Ёлкин
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
function PR(){
  var sel = false;
  var vopros = document.getElementById("vopros");
  var radios  = vopros.getElementsByTagName("input");
  for(var k =  0 ; k < radios.length; k++){
    if(radios[k].type == "radio"){
      if(radios[k].checked){
        sel = true;
        break;
      }
    }
  }
  if(!sel){
    alert("not select");
  }else{
     vopros.style.display = 'none';
     document.getElementById('vopros2').style.display = 'block';                
   }
}


не работает=( пишет всегда нот селект...
...
Рейтинг: 0 / 0
21.03.2007, 11:34
    #34405165
Ёлкин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка RadioButton(javascript)
Ну, может у тебя html'ные элементы как-то не так обозначены?
Вот так все работает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
<html>
<head>
	<title>Untitled</title>
    <script type="text/javascript">
        function PR(){
           
            var sel = false;
            var vopros = document.getElementById("vopros");
            var radios  = vopros.getElementsByTagName("input");
            for(var k =  0 ; k < radios.length; k++){
                if(radios[k].type == "radio"){
                    if(radios[k].checked){
                        sel = true;
                        break;
                    }
                }
            }
            if(!sel){
                alert("not select");
            }else{
                vopros.style.display = 'none';
                document.getElementById('vopros2').style.display = 'block';                
            }
        }
    </script>
</head>

<body>
<div id="vopros">
<input type="Radio" name="vopros" value="1">
<input type="Radio" name="vopros" value="2">
<input type="Radio" name="vopros" value="3">
</div>

<div id="vopros2" style="display:none">
<input type="Radio" name="vopros2" value="1">
<input type="Radio" name="vopros3" value="2">
</div>
<input type="Button" onclick="PR();" value="go">
</body>
</html>
...
Рейтинг: 0 / 0
21.03.2007, 11:56
    #34405271
ghostWWW
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка RadioButton(javascript)
=)работает,а если так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<div id="vopros">
<input type="Radio" name="vopros" value="1">
<input type="Radio" name="vopros" value="2">
<input type="Radio" name="vopros" value="3">

<input type="Radio" name="vopros2" value="1">
<input type="Radio" name="vopros2" value="2">
<input type="Radio" name="vopros2" value="3">

<input type="Radio" name="vopros3" value="1">
<input type="Radio" name="vopros3" value="2">
<input type="Radio" name="vopros3" value="3">
</div>

<div id="vopros2" style="display:none">
<input type="Radio" name="vopros4" value="1">
<input type="Radio" name="vopros4" value="2">
</div>
<input type="Button" onclick="PR();" value="go">
то как изменить функцию?нужно чтобы все 3 группы были выбранны,а потом появилась 4-я
...
Рейтинг: 0 / 0
21.03.2007, 12:30
    #34405428
Ёлкин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка RadioButton(javascript)
Ну как-то так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
       function checkRadio(elem, radioName){
            var sel = false;
            var radios  = elem.getElementsByTagName("input");
            for(var k =  0 ; k < radios.length; k++){
                if(radios[k].type == "radio" && radios[k].name == radioName){
                    if(radios[k].checked){                        
                        sel = true;
                        break;
                    }
                }
            }
            return sel;
        }                      
        function PR(){            
            var sel = false;
            var radioDiv = document.getElementById("vopros");
            var radioNames = new Array("vopros", "vopros2", "vopros3");
            for(var k =  0 ; k < radioNames.length; k++){
                sel = checkRadio(radioDiv, radioNames[k]);
                if(!sel){
                    break;
                }
            }            
            if(!sel){
                alert("not select");
            }else{
                radioDiv.style.display = 'none';                                 
                document.getElementById('vopros2').style.display = 'block';
            }
        }
...
Рейтинг: 0 / 0
21.03.2007, 12:42
    #34405476
ghostWWW
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка RadioButton(javascript)
всё работает почти...=)только когда выбраны все 3 группы,они исчезают,а вот 4-я не появляется...
...
Рейтинг: 0 / 0
21.03.2007, 12:56
    #34405531
ghostWWW
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка RadioButton(javascript)
Ёлкин спасибо большое,остольное сам исправил...вопрос снят=)
...
Рейтинг: 0 / 0
21.03.2007, 12:58
    #34405534
SkyLight
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка RadioButton(javascript)
Походу конфликт имени объекта. Поменяй имя DIV'ов и должно работать. Да, и зачем перебирать INPUT'ы по имени тега, когда можно делать выбор по name?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
<script type="text/javascript">
function f(){
    if (chk('v1') && chk('v2') && chk('v3')){
        document.getElementById('d1').style.display='none';
        document.getElementById('d2').style.display='';
    }
}
function chk(name){
    var opt=document.getElementsByName(name);
    for (var i= 0 ; i<opt.length; i++)
        if (opt[i].checked) return opt[i].value;
    return false;
}
</script>
.....
<div id="d1">
    <input type="Radio" name="v1" value="1">
    <input type="Radio" name="v1" value="2">
    <input type="Radio" name="v1" value="3"><br />
    <input type="Radio" name="v2" value="1">
    <input type="Radio" name="v2" value="2">
    <input type="Radio" name="v2" value="3"><br />
    <input type="Radio" name="v3" value="1">
    <input type="Radio" name="v3" value="2">
    <input type="Radio" name="v3" value="3">
</div>
<div id="d2" style="display: none">
    <input type="Radio" name="v4" value="1">
    <input type="Radio" name="v4" value="2">
</div>
<button onclick="f();">Go</button>
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / проверка RadioButton(javascript) / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]