Newsgroup: it.comp.lang.javascript
Titolo: eval  ttc1+=1;

 ttc1+=1;
Perche' se l'incremento  lo faccio cosi' 
i=1
eval("ttc"+i)+=1;
non funziona ? 
Errore: invalid assignment left-hand side

 Errore: invalid assignment left-hand side
Perché quel tipo di operazioni le puoi fare solo su variabili, e alla
sinistra ti trovi il valore di ritorno di una funzione, non la variabile.
Alla peggio avresti dovuto fare:
	eval("ttc"+i+"+=1");
-- 
~ "FINARMENTE LI SFRATTATI AVRANNO UN TETTO SULLA TESTA!
...però tirato ammodino, un tegolo pe' vorta.." (Il vernacoliere)

>Ma un array? No?
hai ragione, ho risolto con l'array
Un'altro problema:
i=1
document.getElementById(  eval("c"+i)         ).innerHTML=ttc[i];
document.getElementById(  c1        ).innerHTML=ttc[i];
mentre io vorrei
document.getElementById(  "c1"        ).innerHTML=ttc[i];
come faccio a inserire le virgolette ?

 come faccio a inserire le virgolette ?
Togli l'eval. Il metodo getElementById vuole una stringa:
	document.getElementById("c"+i).innerHTML=ttc[i];
Un suggerimento: studiati un po' le reference del linguaggio o anche solo
qualche tutorial per iniziare. Direi che ti mancano le basi.


Perche' il mio codice si ferma ?
j=0;
while(j<=n) {
if(document.forms[0].elements[j].checked){
      alert("check su j="+j);
      ttc[0]=ttc[0]+1;
}
j=j+r;
};
!!!!!!!!!!!!QUI SI FERMA !!!!
alert("fine primo while");
j=1;
alert(j);
while(j<=n) {
alert("while");
if(document.forms[0].elements[j].checked){
      alert("check su j="+j);
      ttc[0]=ttc[0]+1;
}
j=j+r;
}

 alert("fine primo while");
Qui ci arriva? Ovvero, l'alert te lo mostra?
Mentre i seguenti no?
"r" cos'è? e "n"? Probabilmente stai usando un approccio sbagliato per
risolvere un problema facile. Immagino che tu voglia verificare se dati
checkbox/radio siano spuntati o meno, ma non è quello il modo per farlo.
Comunque, verifica se ci sono degli errori nella javascript console ( che
browser usi? )


devo contare quante risposte sul checkbox 1 ,2 ,3 e 4

 devo contare quante risposte sul checkbox 1 ,2 ,3 e 4
Se ci scrivi un esempio della form HTML sulla quale lavori, è più facile
risponderti. Non scrivere tutta la pagina HTML, solo la parte che concerne
il problema (in questo caso, la form e gli elementi checkbox).


<style type="text/css">
<!--
a {
	font-weight: normal;
	color: #d87d2a;
	text-decoration: none;
}
-->
</style>
<!--#include file="conndb.inc" -->
<title>Valutare l'innovazione</title>
<body bgcolor="#4573b3" onload="calcola();">
<p align="center"><font color="#FFFFFF" size="2"><strong><font
face="Verdana, Arial, Helvetica, sans-serif">Il Tecnico Ricerca e
sviluppo</font></strong></font></p>
<p align="center"><font color="#FFFFFF" size="2" face="Verdana, Arial,
Helvetica, sans-serif"><strong>Valutazione delle
competenze</strong></font></p>
<p><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica,
sans-serif">Indica con un pallino il tuo grado di padronanza delle
competenze.<br />
  </font><font color="#FFFFFF" size="2" face="Verdana, Arial,
Helvetica, sans-serif">1 = principiante<br />
  2 = autonomo<br />
  3 = esperto<br />
4 = top<br />
In fondo alla pagina puoi leggere i risultati.</font></p>
<script>
function calcola()
{
n=document.forms["modulo"].elements.length;
r=4;
i=1;
var ttc=new Array();
for(i=0;i<=r;i++){
ttc[i]=0;
}
j=0;
while(j<n) {
if(document.forms[0].elements[j].checked){
      ttc[0]=ttc[0]+1;
}
j=j+r;
};
j=1;
while(j<=n) {
if(document.forms[0].elements[j].checked){
      ttc[1]=ttc[1]+1;
}
j=j+r;
}
j=2;
while(j<=n) {
if(document.forms[0].elements[j].checked){
      ttc[2]=ttc[2]+1;
}
j=j+r;
}
j=3;
while(j<=n) {
if(document.forms[0].elements[j].checked){
      ttc[3]=ttc[3]+1;
}
j=j+r;
}
document.getElementById("c0").innerHTML=ttc[0];
document.getElementById("c1").innerHTML=ttc[1];
document.getElementById("c2").innerHTML=ttc[2];
document.getElementById("c3").innerHTML=ttc[3]; 
}
  </script>
<form name="modulo" id="modulo" method="post" action="">
<table width="545" height="165" border="0">
  <tr>
    <td>&nbsp;</td>
    <td colspan="4"><div align="center"><font
color="#FFFFFF"><strong><font size="1" face="Verdana, Arial,
Helvetica, sans-serif">Livello di
padronanza</font></strong></font></div>      </td>
    </tr>
  <tr>
    <td>&nbsp;</td>
    <td width="30"><div align="center"><font color="#FFFFFF" size="1"
face="Verdana, Arial, Helvetica, sans-serif">1</font></div></td>
    <td width="30"><div align="center"><font color="#FFFFFF" size="1"
face="Verdana, Arial, Helvetica, sans-serif">2</font></div></td>
    <td width="30"><div align="center"><font color="#FFFFFF" size="1"
face="Verdana, Arial, Helvetica, sans-serif">3</font></div></td>
    <td width="30"><div align="center"><font color="#FFFFFF" size="1"
face="Verdana, Arial, Helvetica, sans-serif">4</font></div></td>
  </tr>
 
 
  <%  Set Rs2 = Server.CreateObject("ADODB.Recordset")
    str_query = " SELECT * FROM domande ORDER BY ID"
    Rs2.Open str_query, conn
    i=1
    Do while not RS2.EOF
    testo=Rs2("testo")
    id=Rs2("ID")
%>
 
  <tr>
 
<%if (id<>"2" and id<>"19" and id<>"36" and id<>"51") then %>
<td> <font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica,
sans-serif">
      <% =testo%>
    </font></td>
    <td><div align="center"><input type="radio" name="domanda<%=i%>"
value="1" onclick="javascript:calcola();" /></div></td>
    <td><div align="center"><input type="radio" name="domanda<%=i%>"
value="2" onclick="javascript:calcola();"/></div></td>
    <td><div align="center"><input type="radio" name="domanda<%=i%>"
value="3" onclick="javascript:calcola();"/></div></td>
    <td><div align="center"><input type="radio" name="domanda<%=i%>"
value="4" onclick="javascript:calcola();"/></div></td>
<%else%>
<td bgcolor="#668DC4"> <font color="#FFFFFF" size="2" face="Verdana,
Arial, Helvetica, sans-serif">
      <% =testo%>
    </font></td>
    <td></td>
   <td></td><td></td><td></td>
<%end if%>
  </tr>
 
   <tr>
    <td height="3" colspan="5">&nbsp;</td>
    </tr>
 
 
<% 
 i=i+1
 RS2.movenext
 loop 
%>
 
 <tr>
    <td>&nbsp;</td>
    <td colspan="4"><div align="center"><font
color="#FFFFFF"><strong><font size="1" face="Verdana, Arial,
Helvetica, sans-serif">Livello di
padronanza</font></strong></font></div>      </td>
    </tr>
  <tr>
    <td>&nbsp;</td>
    <td width="30"><div align="center"><font color="#FFFFFF" size="1"
face="Verdana, Arial, Helvetica, sans-serif">1</font></div></td>
    <td width="30"><div align="center"><font color="#FFFFFF" size="1"
face="Verdana, Arial, Helvetica, sans-serif">2</font></div></td>
    <td width="30"><div align="center"><font color="#FFFFFF" size="1"
face="Verdana, Arial, Helvetica, sans-serif">3</font></div></td>
    <td width="30"><div align="center"><font color="#FFFFFF" size="1"
face="Verdana, Arial, Helvetica, sans-serif">4</font></div></td>
  </tr> 
 
  <tr>
    <td><font color="#FFFFFF" size="2" face="Verdana, Arial,
Helvetica, sans-serif">Totale risposte </font></td>
    <td align="center"><strong><font color="#FFFFFF" size="2"
face="Verdana, Arial, Helvetica, sans-serif"><span
id="c0">.</span></font></strong></td>
    <td align="center"><strong><font color="#FFFFFF" size="2"
face="Verdana, Arial, Helvetica, sans-serif"><span
id="c1">.</span></font></strong></td>
    <td align="center"><strong><font color="#FFFFFF" size="2"
face="Verdana, Arial, Helvetica, sans-serif"><span
id="c2">.</span></font></strong></td>
    <td align="center"><strong><font color="#FFFFFF" size="2"
face="Verdana, Arial, Helvetica, sans-serif"><span
id="c3">.</span></font></strong></td>
  </tr>
</table>
</form>
<font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica,
sans-serif">1 = principiante, 2 = autonomo, 
3 = esperto, 
4 = top<br />
<br>
<a href="javascript:self.print()">STAMPA</a>
<hr />
<a href="valutare.html">&lt; indietro</a></font>
<p></p>
<font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica,
sans-serif"></font>
</body>
</html>

On Tue, 27 Sep 2005 11:46:33 +0200, 
o...@tiscali.it
 wrote:
[stra-cut]
Ti avevo detto di non scrivere l'intera pagina HTML, ma solo la parte
incriminata. Tra l'altro hai pubblicato il codice sorgente ASP, mentre ciò
che serve è il codice che arriva al client.
Devi solamente scrivere la parte del FORM inerente ai radio button,
spiegando esattamente cosa vuoi fare.
Da quel che mi pare di capire da qui, ci sono una serie di "domande" alle
quali puoi assegnare un punteggio; ed in fondo c'è una sorta di
"riepilogo". Quindi, dimmi se sbaglio, il riepilogo calcola per ogni valore
il numero di risposte date?
