Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Активность кнопок и checkbox and radio (https://javascript.ru/forum/dom-window/2270-aktivnost-knopok-i-checkbox-radio.html)

Gazprom 30.11.2008 10:47

Активность кнопок и checkbox and radio
 
Здравствуйте. Возникла задача, если не выбраны элементы checkbox или radio, то определенная кнопка неактивна. Порылся в учебниках, еще где то почитал и написал вообще такое.
Для checkbox
checkobj1 = 0;
  function checkAvail(obj){
		if(obj.checked) checkobj1++; 
         else checkobj1--; 
        if (checkobj1<=0) document.form2.elements['corr'].disabled = true; 
         else document.form2.elements['corr'].disabled = false; 
    }

Это вроде работает отлично, но вот проблемка возникает с radio, где то в инете нарыл такой код:
function agreeSubmit(el)
   {
   checkobj = el;
   if (document.all || document.getElementById)
      {
      for (i=0; i<checkobj.form.length; i++)
         {
         var tempobj = checkobj.form.elements[i];
         if (tempobj.type.toLowerCase() == "submit"); {
         
		 tempobj.disabled = !checkobj.checked;}
		
         }
      }
   }

Работает это но не совсем корректно, он мне активирует все кнопки находящиеся на данной форме, а мне надо определенную. Что то пытался сам переделать, но..мне ближе php, чем js...вот и ничего не получатся. Кто может подскажите

Андрей Параничев 30.11.2008 17:03

Как вы используете вторую функцию? Ей нужно передать параметром объект, который вы проверяете.

Gazprom 02.12.2008 09:20

Использую ее вот так
<input type=radio name=id value=$r2 onclick='agreeSubmit(this)'>

fizzle 05.12.2008 21:43

так?
<html>
<head>
<script type="text/javascript">
function tyk()
   {
   var kn=document.getElementById('kn');
   var kn2=document.getElementById('kn2');
   var knopka1=document.getElementById('radio1');
   var knopka2=document.getElementById('radio2');
   (knopka1.checked)?kn.disabled=false:kn.disabled=true;
   (knopka2.checked)?kn2.disabled=false:kn2.disabled=true;
   }
   
</script>
</head>
<body>
    <form id="form1" method=post>
	<input type="radio" id="radio1" value="radio" name="radio" onchange="tyk()">radio
	<input type="radio" id="radio2" value="radio" name="radio" onchange="tyk()">radio2</br>
	<input type="button" value="knopka" id="kn" disabled>
    <input type="button" value="knopka2" id="kn2" disabled>
	
	</form>  
	</body>
</html>


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