Newsgroup: it.comp.lang.javascript
Titolo: errore su ciclo di controllo?

Ciao a tutti,
mi serve ancora un aiutino mi sa  : P.
Praticamente questa funzione che stò scrivendo dovrebbe scattare quando si
clicca sui CHECK BOX "strIDcategoria" che fanno partire il controllo. Se
sono selezionati uno dei due radiobutton con i valori di "BaseLimit" o di
"CanaleLimit" e tutti i Checkbox che formano l'array dal nome
"StrIDcategoria" sono checked (praticamente se sono tutti selezionati
assieme a uno dei 2 radio), dovrebbe far scattare questo stato su una
tabella nascosta "document.getElementById(Tabella).style.display="none"
1) mi da errore qui   for (i = 0; i < objCB.length; i++),
mi dice che objCB.length è nullo o non è un oggetto?
Perchè non capisce la variabile che ho dichiarato??
2) negli scorsi post mi hanno suggerito di non usare document.getElementById
perchè non compatibile con tutti i browser + recenti...da che versione di
browser è accettato e come potrei sostituirlo con un comando tradizionale?
Grazie e ciao a tutti.
Alen
--------------------------------
function ChangePower(radioObject)
{
var i;
var objSelect = null;
var objCB = document.forms["Lara"].elements["strIDcategoria"];
for (i = 0; i < radioObject.length; i++)
 if(radioObject[i].checked){
 objSelect = radioObject[i].value
 break}
 if ((objSelect == "BaseLimit")||(objSelect == "CanaleLimit")){
  for (i = 0; i < objCB.length; i++)
  if(objCB[i].checked = true){
  prompt("Hi!");
  document.getElementById(Tabella).style.display="none";
  break}
 }
}
===================================================
Vivi come se dovessi morire domani, pensa come se non dovessi morire mai.
===================================================

 }
Ahia.. qui si cade nel piu' grosso errore informatico.. cicli annidati con
la medesima variabile.
Hai fatto un ciclo usando una variabile chiamata "i", e all'interno del
quale ne hai fatto un'altro usando la solita variabile.. se vuoi combinare
un pastrocchio, questo e' il metodo piu' corretto. :) I cicli annidati
devono far uso sempre di variabili diverse.
--------------------------------
Inviato via 
http://usenet.libero.it

Se tutti i checkbox sono selezionati e uno dei 2 radiobutto (BaseLimit
o CanaleLimit) scatta il controllo, poi dovrebbe ceccare il radio
corrispondente maggiore, ma non sono ancora riuscito  ;P.
Aprezzerei il commento di qualc'uno dato che questo è il mio primo
script interamente fatto con il libro che ho comprato.
Domandina:
Dichiarando le variabili i ";" li devo sempre mettere o sono
facoltativi
-------------------
<html>
<head>
<title>Example</title>
<script language="javascript">
<!--
function testit()
{
var idform = Lara;
var bChecked = true;
var ObjRadio = document.Lara.AdminLevel;
var objSelect = null;
for (var i = 0; i < idform.elements.length; i++) {
if (idform.elements[i].type == "checkbox" &&
!idform.elements[i].checked) bChecked = false
}        
if (bChecked) {
for (var y = 0; y < ObjRadio.length; y++)
	if(ObjRadio[y].checked){
	objSelect = ObjRadio[y].value
	break}
	}
	if ((objSelect == "BaseLimit")||(objSelect == "CanaleLimit")){
	alert("OK!")
	}
}
//-->
</script>
</head>
<body>
<form name="Lara">
<input name="strIDcategoria" type="checkbox" id="strIDcategoria"
onclick="testit()">
Abilitazione canale 1<br>
 
<input name="strIDcategoria" type="checkbox" id="strIDcategoria"
onclick="testit()">
Abilitazione canale 2<br>
 
<input name="strIDcategoria" type="checkbox" id="strIDcategoria"
onclick="testit()">
Abilitazione canale 3<br>
 
<input name="strIDcategoria" type="checkbox" id="strIDcategoria"
onclick="testit()">
Abilitazione canale 4<br>
 
<input name="strIDcategoria" type="checkbox" id="strIDcategoria"
onclick="testit()" >
Abilitazione canale 5<br>
<br>
<br>
<br>
<input type="radio" name="AdminLevel" value="BaseLimit">
Base limit
<input name="AdminLevel" type="radio" value="base total" checked>
Base Total
<input type="radio" name="AdminLevel" value="CanaleLimit">
CanaleLimit
<input type="radio" name="AdminLevel" value="canale total">
CanaleTotal <br>
<input type="button" value="Test">
</form>
</body>
</html>





	objSelect = ObjRadio[y].value
	break}
	}
	if ((objSelect == "BaseLimit")||(objSelect == "CanaleLimit")){
