Newsgroup: it.comp.lang.javascript
Titolo: php e javascript

Creo una query in php:
$atleta="SELECT id, nome, type, id_squadra FROM staff WHERE
id_squadra='".$_SESSION['MM_UserGroup']."' order by nome";
popolo il tr con while:
<td align=\"center\"><input name=\"tipo".$tipo."\" type=\"checkbox\"
class=\"input-1\" id=\"tipo".$tipo."\" value=\"".$type_atleta."\"
onClick=\"controlla();\"></td>
le righe saranno N in base al numero di record estrapolati
dentro la TD ho controlla()
lo script in javascript dovrà alimentarsi in base a N righe ottenute
tipo0 e tutti rimangono invariati mentre le righe che si popoleranno in base
a N partono da tipo1
<script>
function controlla(){
 if((document.forms.formsms.tipo0.checked==true)&&(document.forms.formsms.tipo1.checked==true)){document.forms.formsms.tutti.checked=true;  }else{document.forms.formsms.tutti.checked=false; }}function controlla1(){if(document.forms.formsms.tutti.checked==true){document.forms.formsms.tipo0.checked=true;document.forms.formsms.tipo1.checked=true; }else{  document.forms.formsms.tipo0.checked=false;document.forms.formsms.tipo1.checked=false; } }</script>qualcuni sa aiutarmi a risolvere questo?

 qualcuni sa aiutarmi a risolvere questo?
"questo" cosa? Non mi sembra che nel tuo post ci sia una domanda
diretta. Posso supporre che "$tipo" in PHP sia una variabile che
viene incrementata nel "while". Ma qual'č il tuo problema in JS,
quello non č chiaro. Vuoi ciclare tutti i campi che hanno "name"
che iniziano con "tipo"? O cos'altro?
-- 
~ "E' uno sterminio.. Non č una guerra piů di quanto lo potrebbe
essere tra un uomo e un verme... O tra draghi e lupi..
O tra uomini a cavallo di draghi che lanciano lupi ai vermi!"


Giusto...
rispiego meglio..
"$tipo" in PHP è una variabile che viene incrementata nel "while".
lo script in js mi serve per controllare le righe create da while
<script>
function controlla(){
 if((document.forms.formsms.tipo0.checked==true)&&(document.forms.formsms.tipo1.checked==true)){document.forms.formsms.tutti.checked=true;  }else{document.forms.formsms.tutti.checked=false; }}function controlla1(){if(document.forms.formsms.tutti.checked==true){document.forms.formsms.tipo0.checked=true;document.forms.formsms.tipo1.checked=true; }else{document.forms.formsms.tipo0.checked=false;document.forms.formsms.tipo1.checked=false; }}</script>questo qua sopra lo ho preso così com'è, la mia necessita è legata propriodalle righe incrementate da whileper cui, document.forms.formsms.tipo1.checked==true sarà tipo1 per la primariga dopodiche incrementerà il valore (document.forms.formsms.tipo2.checked==truedocument.forms.formsms.tipo3.checked==true ) in base alle righe create dawhilespero hai capito il problema

 lo script in js mi serve per controllare le righe create da while
Ok, immaginavo. Ma a questo punto, ti chiedo: come mai non dai lo
stesso nome ai controlli, generando così un array di controlli in
modo nativo? Ovvero, perché non fai scrivere a PHP qualcosa tipo:
	<input name="tipo[]"> type="checkbox" value="1" />
	<input name="tipo[]"> type="checkbox" value="2" />
	<input name="tipo[]"> type="checkbox" value="3" />
Che così sia in JS client side, che in PHP quando invierai i dati
al server, ti ritrovi direttamente un array?
A quel punto per ciclarlo in JS ti basterà fare:
	var 	chks = document.forms["formsms"].elements["tipo[]"],
		bChecked = false;
	for (var i=0;i<chks.length;i++)
		if ( chks[i].checked ){
			bChecked = true;
			break;
		}
	if ( !bChecked )
		alert("Selezionare almeno un checkbox");
In questo esempio ciclo tutti i checkbox, finché non ne trovo uno
che è stato spuntato. Se non ce ne è almeno uno, mostra un alert.
Spero ti possa essere di aiuto, perché sinceramente il codice con
le varie funzioni "controlla" mi ha lasciato un po' perplesso. :)
-- 
~ Se potete leggere questo, la mia donna è caduta.
(Letta sul retro di una maglietta di un motociclista)

 ha scritto nel messaggio 
news:2ar5dpcg...@ID-171124.news.individual.net...

ho provato, ma non funzia, ti spiego meglio
all'avvio ho tutti i flag attivi e questo è il controllo
function controlla(){
 if((document.forms.formsms.tipo0.checked==true)&&(document.forms.formsms.tipo1.checked==true)){document.forms.formsms.tutti.checked=true;  }else{document.forms.formsms.tutti.checked=false; }}ho <input name=\"tutti\" type=\"checkbox\" class=\"input-1\" id=\"tutti\"onClick=\"controlla1(); \" value=\"tutti\" checked>clikkando qua a tutti gli input ottenuti da while metto o tolgo il flag  epoi posso selezionare singolo risultato ottenutoe questo è il controllo:functioncontrolla1(){if(document.forms.formsms.tutti.checked==true){document.forms.formsms.tipo0.checked=true;document.forms.formsms.tipo1.checked=true; }else{  document.forms.formsms.tipo0.checked=false;document.forms.formsms.tipo1.checked=false; } }con la tua soluzione non riesco ad ottenere il risultato voluto

CUTTONE
ho provato fare cosi: ma non funzia lo stesso
function controlla5(){
 for(i=1; i<=ncb; i++){
  document.forms.formsms['tip'+i].checked==true;
 }
}
function controlla6(){
 if(document.forms.formsms.tutt.checked==true){
 for(i=1; i<=ncb; i++){
  document.forms.formsms['tip'+i].checked==true;
 }
 }
 else{
 for(i=1; i<=ncb; i++){
  document.forms.formsms['tip'+i].checked==false;
 }
 }
}
<input name=\"tutt\" type=\"checkbox\" class=\"input-1\" id=\"tutt\" 
onClick=\"controlla6(); \" value=\"tutt\" checked>
while($riga_atleta=mysql_fetch_row($result_atleta)){
    $id_atleta=$riga_atleta[0];
    $nome_atleta=$riga_atleta[1];
    $type_atleta=$riga_atleta[2];
    $tipo++;
    echo "<script>";
    echo "var ncb = $tipo;";
    echo "</script>";
<td align=\"center\"><input name=\"tip".$tipo."\" type=\"checkbox\" 
class=\"input-1\" id=\"tip".$tipo."\" value=\"".$id_atleta."\" 
onClick=\"controlla5();\"></td>
</tr>
 <script>controlla6();</script>
ma nulla
se io clikko tutt non mi flegga quelli generati da while