Visualizzazione risultati 1 fino 4 di 4

Discussione: Errore javascript 1.2

  1. #1
    Guest

    Predefinito Errore javascript 1.2

    ho creato una rubrica online per ricordare numeri di telefono, e-mail, nomi ecc.
    è ancora infase di costruzione...
    ho avuto un problema con il javascript 1.2
    Codice HTML:
    <html>
    <head>
    <title><?php echo "Aggiungi record" ?></title>
    </head>
    <body>
    <table>
    <form method="post" name="form">
    <tr><td>Nome</td>
    <td><input type="text" name="nome" size="20" maxlength="20"></td></tr>
    <tr><td>Cognome</td>
    <td><input type="text" name="cognome" size="20" maxlength="20"></td></tr>
    <tr><td>Azienda</td>
    <td><input type="text" name="azienda" size="20" maxlength="20"></td></tr>
    <tr><td>Ruolo</td>
    <td><input type="text" name="ruolo" size="20" maxlength="20"></td></tr>
    <tr><td>E-mail</td>
    <td><input type="text" name="email" size="20" maxlength="20"></td></tr>
    <tr><td>Telefono</td>
    <td><input type="text" name="telefono" size="20" maxlength="20"></td></tr>
    <tr><td>Cellulare</td>
    <td><input type="text" name="cellulare" size="20" maxlength="20"></td></tr>
    <tr><td colspan="2"><input type="submit" value="Inserisci" onClick="sendOff();"></td></tr>
    <script language="JavaScript1.2">
    var good;
    function checkEmailAddress(field) {
    
    var goodEmail = field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.it)|(\.bz)|(\.org)|(\..{2,2}))$)\b/gi);
    
    if (goodEmail){
       good = true
    } else {
       alert('Inserisci una mail valida')
       field.focus()
       field.select()
       good = false
       }
    }
    
    function sendOff(){
       nmcheck = document.form.nome.value
       if (nmcheck.length <1) {
          alert('Inserisci il nome')
          return
       }
    }
    function go(){
       if(good=true){
          location.href="add.php"
          return
       }
    }
    </script>
    </form>
    </table>
    <a href="record.php">Guarda i record</a>
    </body>
    </html>
    questo "dovrebbe" scrivere un messaggio di errore se non c'è il nome e lo stesso per la mail...se per esempio si scrive nel form

    ciao.ciao.tiscali.it

    ti dice: inserisci una valida e-mail
    ma il problema sta che se per esempio è tutto giusto non funziona il location.href!!
    Ciao
    Ultima modifica di marcomeloni : 20-10-2010 alle ore 21.05.11

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Ma la funzione go() quand'è che la richiami?


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


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

    Predefinito

    Già, stesso vale per la funzione di validazione email che non viene interpellata.
    Ma soprattutto, l'errore maggiore è che i dati del form vanno inviati tramite un form.submit allo script add.php, quindi anche chiamando la function go (comunque contenente errori) non si ottengono i dati.
    Quindi, piuttosto che un onclick sul bottone submit consiglio di usare l'evento onsubmit sul form, che se passa i controlli va dritto a passare i dati allo script add.php, altrimenti, se la validazione (per ora nome e email) non passa, ritornare un "false" al gestore d'evento onsubmit blocca il naturale processo di submit e si rimane in pagina a correggere i dati inseriti.
    Vedi se ti piace così:
    Codice HTML:
    <html>
    <head>
    <title><?php echo "Aggiungi record" ?></title>
    </head>
    <body>
    <table>
    <form action="add.php" method="post" name="form" onsubmit="return sendOff()">
    <tr><td>Nome</td>
    <td><input type="text" name="nome" size="20" maxlength="20"></td></tr>
    <tr><td>Cognome</td>
    <td><input type="text" name="cognome" size="20" maxlength="20"></td></tr>
    <tr><td>Azienda</td>
    <td><input type="text" name="azienda" size="20" maxlength="20"></td></tr>
    <tr><td>Ruolo</td>
    <td><input type="text" name="ruolo" size="20" maxlength="20"></td></tr>
    <tr><td>E-mail</td>
    <td><input type="text" name="email" size="20" maxlength="20"></td></tr>
    <tr><td>Telefono</td>
    <td><input type="text" name="telefono" size="20" maxlength="20"></td></tr>
    <tr><td>Cellulare</td>
    <td><input type="text" name="cellulare" size="20" maxlength="20"></td></tr>
    <tr><td colspan="2"><input type="submit" value="Inserisci"></td></tr>
    <script language="JavaScript1.2">
    
    function checkEmailAddress(field) {
     var goodEmail = field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.it)|(\.bz)|(\.org)|(\..{2,2}))$)\b/gi);
    
     if (goodEmail){
       return true;
     } else {
       alert('Inserisci una mail valida');
       field.focus();
       field.select();
       return false;
     }
    }
    
    function sendOff(){
       nmcheck = document.form.nome.value
       if (nmcheck.length <1) {
          alert('Inserisci il nome')
       }else if (checkEmailAddress(document.form.email)) {
          return true;      
       }
       return false;
    }
    
    </script>
    </form>
    </table>
    <a href="record.php">Guarda i record</a>
    </body>
    </html>
    Ciao.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  4. #4
    Guest

    Predefinito

    Grazie
    funziona alla perfezione complimenti



    Ciao

Regole di scrittura

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