Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317

    Controllo su forum

    Ho appena iniziato a studiare javascript, quindi per piacere siate clementi

    Codice PHP:
    <html>
    <
    head>
    <
    script type="text/javascript>">
    /*function controllo_form(nome_form){
        var 
    }*/
    </script>
    </head>
    <body>

    <form method="post" onSubmit="this.lol.disabled=true">
    <input type="text" name="nome" value="">
    <input type="submit" name="lol" value="ok">
    </form>

    </body>
    </html> 
    Per quale motivo non mi disabilita l'input "lol" ? :/

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    perche' tu invii comunque:
    un form senza action punta allo stesso documento, all' invio viene ricaricato ed il pulsante ti risulta normalmente abilitato

    impedisci l' invio con
    onSubmit="this.lol.disabled=true;return false"
    e vedrai che il pulsante effettivamente si disabilita

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    ciao, scusa ma non capisco la logica.
    Cioè ho capito che la pagina viene ricaricata e quindi il browser "si scorda".
    Return false che "comando" gli invia al browser? Gli dice "ferma lil form" in modo da non far ricaricare la pagina?

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    si, onsubmit="return false" non fa inviare il form

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    grazie per le celere risposte.

    Ora il mio quesito è un altro:

    Codice PHP:
    <html>
    <
    head>
    <
    script type="text/javascript>">
    function 
    controllo_form(nome_form){
        if ( 
    nome_form.nome.lenght 20 || nome_form.nome.value == '' ){
            
    alert('Compila tutti i campi o non superare i 20 caratteri');
            return 
    true;
        }
        return 
    false;
    }
    </script>
    </head>
    <body>

    <form method="post" onSubmit="this.lol.disabled=true; if(controllo_form(this)){ return false; }else{ return true; }">
    <input type="text" name="nome" value="">
    <input type="submit" name="lol" value="ok">
    </form>

    </body>
    </html> 
    La domanda, come sempre, è: perchè non funziona?

  6. #6
    semplice

    al posto di questa riga
    Codice PHP:
    <script type="text/javascript>"
    devi mettere questa
    Codice PHP:
    <script type="text/javascript"
    Ubuntu rulez!! :P

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    length

    questo
    if(controllo_form(this)){ return false; }else{ return true; }
    puoi scriverlo direttamente cosi'
    return controllo_form(this)

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    ora funziona quasi correttamente.

    Se supero i 20 caratteri però non segnala errore neppure con "length" scritto giusto.

  9. #9
    devi mettere

    Codice PHP:
    nome_form.nome.value.length 
    al posto di

    Codice PHP:
    nome_form.nome.length 
    Ubuntu rulez!! :P

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    grazie a tutti e due

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.