Visualizzazione risultati 1 fino 5 di 5

Discussione: aiuto con i form - Javascript

  1. #1
    Guest

    Predefinito aiuto con i form - Javascript

    Salve ho un problema con un esercizio di Javascript.
    Praticamente data una piccola lista numerata di siti, l'utente deve digitare un numero corrispondente al sito che vuole visitare e successivamente aprire la pagina.
    Ma il problema mi si pone già all'inizio, quando devo prelevare il dato (il numero) inserito nella form.
    Questo è il codice:
    --------------------------------------------------------------------------

    Codice HTML:
    <html>
    
    <head>
    <title>Esercizio javascript</title>
    </head>
    
    <body>
    <script type='text/javascript'>
    function mostra() //crea la funzione mostra, che scrive che numero hai digitato
    { 
         document.write(" Hai inserito "+document.dati.scelta.value);
    }
    
    </script>
    
    <ol>
    <li>YouTube</li>
    <li>Facebook</li>
    <li>Libero</li>
    </ol>
    
    <form name='dati'>
    <!-- riceve in input il numero -->
    Inserisci il numero corrispondente al sito che vuoi visitare: <input type='text' name='scelta' /><br />
    <input type='submit' value='Invia' onClick='mostra()' /><br />
    </form>
    </body>
    </html>
    Premetto che so che è incompleto, che devo fare altri controlli, però già da questa idea semplice non mi preleva il dato e di conseguenza non mi stampa niente.
    Non riesco a capire perchè!
    Spero possiate aiutarmi :) Ciaooo!
    Ultima modifica di andreafallico : 01-06-2010 alle ore 22.21.43

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,183

    Predefinito

    Codice HTML:
    <html>
    
    <head>
    <title>Esercizio javascript</title>
    </head>
    
    <body>
    <script type='text/javascript'>
    function mostra() //crea la funzione mostra, che scrive che numero hai digitato
    {
    //document.write(" Hai inserito "+document.dati.scelta.value);
    document.getElementById('output').innerHTML = " Hai inserito "+document.dati.scelta.value;
    }
    
    </script>
    
    <ol>
    <li>YouTube</li>
    <li>Facebook</li>
    <li>Libero</li>
    </ol>
    <div id='output'>Premi invia!</div>
    
    <form name='dati'>
    <!-- riceve in input il numero -->
    Inserisci il numero corrispondente al sito che vuoi visitare: <input type='text' name='scelta' /><br />
    <input type='button' value='Invia' onClick='mostra()' /><br />
    </form>
    </body>
    </html>
    1- Non puoi effettuare un document.write() dopo il caricamento della pagina (altrimenti, come hai visto, ti manda in una nuova pagina).
    2- Se metti il tipo "submit", invierà i dati alla pagina stessa (con action vuoto. prova a sostituire al mio codice il tipo submit invece che button.. così si capisce meglio :))

    Se hai altri dubbi e/o non sai fare altro, chiedi pure ;-)

    Ciao!
    Ultima modifica di alemoppo : 01-06-2010 alle ore 21.06.42

  3. #3
    Guest

    Predefinito

    si perdonami per il document.write() è stato un mio errore :)
    Comunque ho capito...Grazie mille!
    L'ho terminato così:

    Codice HTML:
    <html>
    
    <head>
    <title>Esercizio javascript</title>
    </head>
    
    <body>
    <script type='text/javascript'>
    function mostra()
    { 
         
         switch(document.dati.scelta.value){
         case "1": 
         {str="http://www.youtube.com/";
         location.href=str;
         break;}
         case "2": 
         {str="http://www.facebook.com/";
         location.href=str;
         break;}
         case "3": 
         {str="http://www.libero.it/";
         location.href=str;
         break;}
         default:alert('Spiacente!Hai inserito un numero errato!');}
    }
    
    </script>
    
    <ol>
    <li>YouTube</li>
    <li>Facebook</li>
    <li>Libero</li>
    </ol>
    
    
    <form name='dati'>
    <!-- riceve in input il numero -->
    Inserisci il numero corrispondente al sito che vuoi visitare: <input type='text' name='scelta' /><br />
    <input type='button' value='Invia' onClick='mostra()' /><br />
    </form>
    </body>
    </html>
    La differenza sta nel "button" praticamente?
    Ultima modifica di andreafallico : 01-06-2010 alle ore 22.22.09

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,183

    Predefinito

    il tipo submit serve per inviare i dati del form, usualmente ad una pagina PHP. Quindi, quando premi il pulsante, invia i dati ad una pagina, (facendola ricaricare).

    Per decidere la pagina di destinazione, devi attribuire l'action nel form, ma visto che, giustamente, non l'hai messo, di default è la pagina in cui c'é il form.

    Forse ho spiegato male, ma prova a sostituire submit e vedi :)

    Ciao!

  5. #5
    Guest

    Predefinito

    si infatti il mio problema era proprio il submit...perchè tutte le altre prove che facevo erano uguali al codice che ti ho scritto alla fine, solo che giustamente col submit non funziona,mi ricaricava la pagina senza nessun risultato XD e non capivo perchè...ora lo so...Thanks =)
    *___*

Regole di scrittura

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