Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    JavaScript e controllo dati form HTML. Dove sbaglio?

    Ciao ragazzi

    Ho realizzato un classico form HTML che chiede alcuni dati all'utente.
    Ho poi messo un controllo in JavaScript per verificare che tutti i campi richiesti vangano compilati.

    Il problema è che questo script funziona solo in parte: JS mi visualizza un alert se il campo non è stato compilato, ma il form html continua comunque ad andare avanti e nonostante il messaggio di errore si viene reindirizzati alla pagina presente in "action".

    Dove sbaglio?

    Eccovi il codice HTML:

    codice:
    <form name="iscrizione" id="form_iscrizione" method="post" onsubmit="controllo()" action="subscribe.php">
    [............]
    <td align="left">
    <input type="submit" name="Submit" value="Registrati" >
    </td>
    </form>
    ...e questo è il codice JS (incluso ovviamente nella stessa pagina):

    codice:
    <script language="javascript">
    function controllo() {
    if (nome.value == "")
                {
           alert ("Tutti i campi devono essere compilati");
           document.forms[form_iscrizione].elements[campo_nome].focus();
           return false;
          }
       else {
       return true;
       }
    }
    </script>
    Il codice JS l'ho messo subito dopo la chiusura del FORM. Ho provato a spostarlo anche tra gli HEAD ma non cambia nulla...

    Qualcuno sa dirmi dove sbaglio? :master:
    Riepilogando, l'invio dei dati del FORM deve essere interrotto se uno dei campi è vuoto (in questo caso ho specificato solo il campo "nome").
    Ogni idea è ben accetta

    Grazie, ciao


    UPDATE: sotto suggerimento ho fatto alcune modifiche:
    - <form name="iscrizione" id="form_iscrizione" method="post" action="subscribe.php">
    - <input type="button" onclick="controllo()" name="Submit" value="Registrati" >
    - else
    {
    document.forms["form_iscrizione"].submit();
    }

    Dopo aver fatto queste modifiche sembrava tutto perfettamente funzionante!
    Il problema è che funziona correttamente solo su Chrome e su IE viene visualizzato in basso nella barra grigia la frase "Errore nella visualizzazione della pagina".

    Nessuna idea?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    vari errori nel primo codice:
    onsubmit="return controllo()"
    ...
    if (document.nomeForm.nomeCampo.value == "")
    ...
    document.forms['form_iscrizione'].elements['campo_nome'].focus();

  3. #3
    Grazie mille
    Perfettamente funzionante!

  4. #4
    Originariamente inviato da Xinod
    vari errori nel primo codice:
    onsubmit="return controllo()"
    ...
    if (document.nomeForm.nomeCampo.value == "")
    ...
    document.forms['form_iscrizione'].elements['campo_nome'].focus();

    Vorrei sapere solo un'ultima cosa
    Siccome non ho mai programmato in JS non so come usare l'IF per controllare tutti i campi del form insieme.

    Il form contiene circa 8 campi, come faccio a controllare che siano tutti compilati?
    Esiste una specie di "AND" oppure "OR" che va insieme all'IF?

    Ho trovato sul web, ho fatto così (ho aggiunto OR) ma non funziona!

    codice:
    if (document.form_iscrizione.nome.value == "") || (document.form_iscrizione.email.value == "") || (document.form_iscrizione.password.value == "")
    Dove ho sbagliato?

  5. #5
    Risolto!

    codice:
    if (document.form_iscrizione.nome.value == "" || document.form_iscrizione.email.value == "" || document.form_iscrizione.password.value == "")

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.