Visualizzazione dei risultati da 1 a 3 su 3

Discussione: problema form dinamico

  1. #1

    problema form dinamico

    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

  2. #2
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530
    testodiv=label+"<select name='d"+nuovadomanda+"'> onchange=\"controllo("+chediv+",'d"+nuovadomanda+" ');\">";

    e onchange finisce fuori Tag ...

  3. #3
    azz, mi era sfuggito completamente....
    grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.