Visualizzazione risultati 1 fino 20 di 20

Discussione: [Javascript] Domanda stupida sulla funzione write (continua)

  1. #1
    Guest

    Smile [Javascript] Domanda stupida sulla funzione write

    poi non è che sia tanto stupida per me che non conosco (quasi per nulla) il javascript, anche se so che si può fare con quello.
    allora vi posto tutto il codicillo html:

    Codice HTML:
    <fieldset><legend>villaggi</legend><br />
    <table width="600"><tr><td width="200">
    <form name="form" action="changeloc.php" method="post">
    <input name="town" type="radio" value="Nemesis" checked="checked" />Villaggio Nemesis<br />
    <input name="town" type="radio" value="Obscura" />Villaggio Obscura<br />
    <input name="town" type="radio" value="Purpureus" />Villaggio Purpureus<br />
    </form>
    </td>
    <td width="400">
    <!-- inserire descrizione qui -->
    </td></tr></table>
    </fieldset>
    dovrei fare in modo che a seconda del radio selezionato, nella cella a fianco ci sia una descrizione del villaggio diversa, ma non so come fare. ho provato con write, ma sento che mi manca qualcosa. potete aiutarmi? grazie mille.

  2. #2
    Guest

    Predefinito

    Forse ti conviene usare i div. A seconda del valore di document.form.town scrivi un valore diverso in document.getElementById['id_del_div']...

  3. #3
    Guest

    Predefinito

    me lo puoi spiegare meglio?
    vedo la soluzione ma non capisco come metterla in pratica.
    grazie.

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Una soluzione potrebbe essere questa (non l'ho provata, potrebbero esserci degli errori):
    Codice HTML:
    <script language="Javascript" type="text/javascript">
    descrizione=new Array("descrizione Nemesis","descrizione Obscura","descrizione Purpureus");
    function Verifica() {
    	for (i=0;i<document.nomeform.town.length;i++)
    		if (document.nomeform.town[i].checked)
    			document.getElementById("descrizione").innerHTML=descrizione[i];
    }
    </script>
    
    <fieldset><legend>villaggi</legend><br />
    <table width="600"><tr><td width="200">
    <form action="changeloc.php" method="post" name="nomeform">
    <input name="town" type="radio" value="Nemesis" onclick="Verifica()" checked="checked" />Villaggio Nemesis<br />
    <input name="town" type="radio" value="Obscura" onclick="Verifica()" />Villaggio Obscura<br />
    <input name="town" type="radio" value="Purpureus" onclick="Verifica()" />Villaggio Purpureus<br />
    </form>
    </td>
    <td width="400">
    <span id="descrizione"></span>
    </td></tr></table>
    </fieldset>
    
    <script language="Javascript" type="text/javascript">
    Verifica();
    </script>
    Ultima modifica di funcool : 03-07-2006 alle ore 10.58.30
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    dà l'errore "document.town.lenght" is null or not an object

  6. #6
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    A me sembra buono il codice tranne per il fatto che i radio dovrebbero trovarsi -per correttezza- all'interno di un tag FORM con un certo attributo name="nomeform"
    in modo tale da rintracciare i radio in questo modo:
    document.nomeform.town

    per il resto mi sembra perfetto. Oddio può anche darsi che a IE o altri browser piaccia comunque il fatto che i radio siano senza form.. però..
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  7. #7
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Ho corretto come suggerito da Heracleum.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  8. #8
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    piccola modifica l'attributo name compare due volte..
    name="form" e name="nomeform"

    Edit:
    mica mi ero accorto che già nel codice originale c'era già il tag form!
    quindi bastava che dicessi di rintracciare il radiogroup come:
    document.form.town

    comunque penso che ci siamo capiti
    Ultima modifica di heracleum : 03-07-2006 alle ore 11.00.28
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  9. #9
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da heracleum
    piccola modifica l'attributo name compare due volte..
    name="form" e name="nomeform"
    Ricorretto, avevo ricopiato il pezzo di Tbsclan e non avevo notato che c'era già quel pezzo.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  10. #10
    Guest

    Predefinito

    Citazione Originalmente inviato da heracleum
    piccola modifica l'attributo name compare due volte..
    name="form" e name="nomeform"
    infatti ho provato il codice e me ne sono accorto ank'io
    grazie di tutto ragazzi, funziona alla grande! siete fantastici!

  11. #11
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Visto che risolto, chiudo.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  12. #12
    Guest

    Talking [javascript] altra domanda stupida su menu

    ah accidenti ieri mi avete kiuso troppo in fretta il topic.
    ora volevo kiedere: è possibile fare la stessa cosa però con il menu a discesa?
    io ho provato così ma non mi funziona, mi da sempre la prima descrizione:

    Codice HTML:
    <script language="Javascript" type="text/javascript">
    descrizione=new Array("lavoro","abbb","ccccc","ddddd","hhhhh");
    function Verifica() {
    	for (i=0;i<document.jobsl.jobmenu.length;i++)
    		if (document.jobsl.jobmenu[i].selected)
    			document.getElementById("descrizione").innerHTML=descrizione[i];
    }
    </script>
    <form id="jobsl" name="jobsl" method="post" action="">
      <select name="jobmenu">
        <option value="v0"><? echo $v0[0] ?></option>
        <option value="v1"><? echo $v1[0] ?></option>
        <option value="v2"><? echo $v2[0] ?></option>
        <option value="v3"><? echo $v3[0] ?></option>
        <option value="v4"><? echo $v4[0] ?></option>
      </select>
    </form>
    <div id="descrizione"></div>
    <script language="Javascript" type="text/javascript">
    Verifica();
    </script>
    dove ho sbagliato?
    casomai non ci fosse il sistema lo potrei fare di nuovo con i radio button, però mi piacerebbe di più in questo modo. déi del javscript, potete aiutarmi?

  13. #13
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Dove c'è:
    Codice PHP:
    <select name="jobmenu">
    Prova a mettere:
    Codice PHP:
    <select name="jobmenu" onchange="Verifica()">
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  14. #14
    Guest

    Predefinito

    Ho unito le due discussioni.


    Ciao!

  15. #15
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    No per la select devi utilizzare la sua proprietà array options
    e poi per sapere qual è quello selezionato la proprietà selectedIndex

    quindi per sapere quello quelezionato:
    var sel = document.jobsl.jobmenu;
    var selopt = sel.options[sel.selectedIndex];

    poi con più tempo magari ti correggo il codice direttamente
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  16. #16
    Guest

    Predefinito

    basta ke mi dici dove inserire quelle variabili e che uso farne...

  17. #17
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Faccio prima a scrivere il codice e tra l'altro si semplifica nettamente visto che la select ha la proprietà selectedIndex (che evita di fare il loop su tutte le opzioni come invece è necessario fare per i radiobutton):

    Codice HTML:
    function Verifica() {
     var sel = document.jobsl.jobmenu;
     document.getElementById("descrizione").innerHTML = descrizione[sel.selectedIndex];
    }
    dimenticavo:
    è ovviamente anche valido e necessario l'intervento di funcool altrimenti non scatta l'evento, quindi aggiungere:
    onchange="Verifica()"

    nel tag della select.

    Per il resto volevo anche aggiungere il mio parere che si chiudono un po' troppo in anticipo le discussioni tecniche.
    Io lo farei almeno il giorno dopo.
    Ultima modifica di heracleum : 05-07-2006 alle ore 10.41.13
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  18. #18
    Guest

    Predefinito

    grazie mille comunque s'è di default c'è selezionato il primo oggetto non visualizza la descrizione. per risolvere basta scriverla nel codice html dentro il <div> (solo la prima descrizione)

    ancora grazie mille per la tua e la vostra disponibilità.


    (mi garba troppo sto emoticon)


    ciao ciao

  19. #19
    Guest

    Predefinito

    beh, per risolvere il problema che non esegue all'iniizio puoi mettere nel tag body

    <body onload="Verifica()">

    ciao!!!

  20. #20
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Non dovrebbe esserci bisogno di indicarlo anche nell'onload visto che nel codice c'è GIA' una chiamata (di inizializzazione) subito dopo il form...
    Quindi penso piuttosto che il selectedIndex torni -1 , cioè nessun option selezionata nella select e quindi non mostri nulla per questo motivo.
    Perciò io metterei l'attributo "selected" alla prima option:

    <option value="v0" selected><? echo $v0[0] ?></option>
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •