salve,
sto creando un breve questionario con la caratteristica che ogni risposta determina la domanda successiva (se rispondi questo ti chiedo quello, se rispondi quest'altro ti chiedo un'altra cosa).
Ho creato una pagina test con la prima domanda e un div vuoto successivo.
all' onchange della select chiamo la funzione di controllo che mi inserisce l'html nel secondo div ma all' onchange della select appena creata nel nuovo div la funzione di controllo non viene più richiamata.
Vi posto il codice perchè spiegato così non si capisce niente...
<script>
function controllo(chediv,chedomanda)
{
alert("la domanda a cui hai risposto è nel div: "+chediv);
alert("il name della select era: "+chedomanda);
switch(chedomanda) {
case "d1":
if (document.form1.d1.options.selectedIndex==2) {
// è NO
nuovadomanda=2;
label="hai risposto NO alla domanda, ora ti faccio la domanda conseguente";
}
else {
// è SI
nuovadomanda=6;
label="hai risposto SI alla domanda, ora ti faccio la domanda conseguente";
}
break;
}
chediv++;
testodiv=label+"<select name='d"+nuovadomanda+"'> onchange=\"controllo("+chediv+",'d"+nuovadomanda+" ');\">";
testodiv+="<option><option>si<option>no</select>";
alert (testodiv);
document.getElementById("domanda"+chediv).innerHTM L=testodiv;
}
</script>
<form name="form1">
<div id="domanda1">
questa è la domanda numero 1
<select name="d1" onchange="controllo(1,'d1');">
<option>
<option>si
<option>no
</select>
</div>
<div id="domanda2"></div>
</form>
vi prego di non badare al fatto che lo switch non gestisce la seconda domanda, etc.
l'unica cosa è vorrei capire perchè, alla seconda domanda non viene richiamata la funzione controllo.
grazie
andrea