Newsgroup: it.comp.lang.javascript
Titolo: problema con funzione

Ciao a tutti,
remetto che non ho mai utilizzato javascript.
La mia intenzione è quella di creare una funzione che ad ogni click di
checkbox aumenti una varizbile (diciamo z) di uno e me lo scriva in una
cella di una tabella. Quello che sono riuscito a fare è questo ma non
funziona:
<SCRIPT LANGUAGE="JavaScript">
function pippo() {
      var z;
      document.theform.res.value = z+1;
   }
</SCRIPT>
<table width="600" border="1">
  <tr>
    <td><input name="scelto" type="checkbox" onClick="pippo()"></td>
    <td><input name="pippo" type="checkbox" onClick="pippo()"></td>
    <td><input name="pluto" type="checkbox" onClick="pippo()"></td>
    <td></td>
    <td><form name="theform">
<input type="text" name="res" size=30>
</form></td>
  </tr>
</table>
Praticamente voglio contare quante checkbox sono state spuntate.
Sapete aiutarmi?
ciao Michele
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Ciao,
grazie per la risposta.
Effettivamente mi sono spiegato male. Il fatto è che creo dinamicamente con
un WHILE in php un certo numero di checkbox pari al numero di recordset
recuperati da un db. La mia necessità è quella di limitare il numero di
check spuntate (diciamo 5).
Ovviamente, togliendo la spunta ad una certa check il numero diminuisce per
poi aumentare alla spunta di un'altra e così via.
Solo che di javascript non ne so nulla e da qualche giorno sto cercando
risolvere questo problema. purtroppo sono nullo.


Ciao,
grazie per l'aiuto, al primo tentativo hai risolto il mio
problema....comincio a capirci qualcosa...ho anche ampliato la funzione e
stranamente funziona!!! Adesso però ho ancora da modificarla...posto il
codice e poi spiego:
function check() {
var z=0, x=0, j=0, dT=document.theform;
for (var i=0;i<dT.length;i++) {
	if (dT.elements[i].type=="checkbox" && dT.elements[i].checked) {
		z++;
			//j+=dT.test[i].value;
 
		}
 
	}
	dT.res.value=j;
 
for (var x=0;x<dT.length;x++) {
      if (z==5) {
	if (dT.elements[x].type=="checkbox" && dT.elements[x].checked) {
	   dT.elements[x].disabled=false;
	} else {
	   dT.elements[x].disabled=true;
	}
      } else {
	 dT.elements[x].disabled=false;
	}
}
}
</SCRIPT>
così è illeggibile ma fa questo:
quando l'utente clicca sulle checkbox z aumenta e quando arriva a 5 blocca
tutti gli altri checkbox (questa è la soluzione che io sono riuscito a
trovare).
Adesso il problema è questo:
Tenendo in considerazione che il form si crea dinamicamente con il php
estraendo i dati da un db, avrò n record quindi n checkbox e n hidden
textbox(le hidden si chiamano tutte test) che contengono numeri estratti dal
db. Vorrei fare in modo che cliccando sulle checkbox, nella textbox "res" mi
faccia la somma dei valori contenuti nelle hidden corrispondenti.
Io ho provato inserendo il codice commentato nella prima parte della
funzione (//j+=dT.test[i].value;) ma:
se clicco sulla prima checkbox ok, sulla seconda mi riporta il valore della
hidden corrispondente alla seconda check e così via, sempre sfalsato di uno.
Poi non mi fa la somma ma concatena i valori.


Ciao, grazie ancora per le risposte, ho imparato un sacco di cose. I
problemi li ho risolti....snellirņ tutto inserendo il numero preso da db nel
value del checkbox (non ci avevo pensato) e grazie per la funzione Number
(ho cercato ma non la trovavo, non ne sapevo l'esistenza ma immaginavo
esistesse qualcosa del genere).
Ciao,
