Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    convalida form, dove sbaglio?

    Ciao a tutti,
    Seguendo le istruzioni di pro.html.it ho modificato lo script in questo modo


    <script language="javascript">
    <!--
    function Modulo() {

    // Variabili associate ai campi del modulo
    var nome = document.modulo.nome.value;
    var cognome = document.modulo.cognome.value;
    var username_pop3 = document.modulo.username_pop3.value;
    var password_pop3 = document.modulo.password_pop3.value;
    var username_sms = document.modulo.username_sms.value;
    var password_sms = document.modulo.passoword_sms.value;
    var tot_sms = document.modulo.tot_sms.value;

    //Effettua il controllo sul campo NOME
    if ((nome == "") || (nome == "undefined")) {
    alert("Il campo Nome è obbligatorio.");
    document.modulo.nome.focus();
    return false;
    }
    //Effettua il controllo sul campo COGNOME
    else if ((cognome == "") || (cognome == "undefined")) {
    alert("Il campo Cognome è obbligatorio.");
    document.modulo.cognome.focus();
    return false;
    }
    //Effettua il controllo sul campo USERNAME POP3
    else if ((username_pop3 == "") || (username_pop3 == "undefined")) {
    alert("Il campo Username pop3 è obbligatorio.");
    document.modulo.username_pop3.focus();
    return false;
    }
    //Effettua il controllo sul campo PASSWORD POP3
    else if ((password_pop3 == "") || (password_pop3== "undefined")) {
    alert("Il campo Password pop3 è obbligatorio.");
    document.modulo.password_pop3.focus();
    return false;
    }
    //Effettua il controllo sul campo USERNAME SMS
    else if ((username_sms == "") || (username_sms == "undefined")) {
    alert("Il campo Username sms obbligatorio.");
    document.modulo.username_sms.focus();
    return false;
    }
    //Effettua il controllo sul campo PASSWORD SMS
    else if ((password_sms == "") || (password_sms== "undefined")) {
    alert("Il campo Password sms è obbligatorio.");
    document.modulo.password_sms.focus();
    return false;
    }


    //Effettua il controllo sul campo TOT SMS
    else if ((isNaN(tot_sms)) || (telefono == "") || (telefono == "undefined")) {
    alert("Il campo Numero totali di sms è obbligatorio.");
    document.modulo.tot_sms.value = "";
    document.modulo.tot_sms.focus();
    return false;
    }


    //INVIA IL MODULO
    else {
    document.modulo.action = "adduser.php";
    document.modulo.submit();
    }
    }
    //-->
    </script>
    Nell'html ho modificato le righe come specificato nel tutorial, cioè
    codice:
    <form method="POST" name="modulo">
    ..
    <input type=submit value="Invia" onClick="Modulo()">
    Dove sta l'inghippo?

    Grazie

  2. #2
    Prova così:

    <form method="POST" name="modulo" onClick="Modulo()">
    <input type=submit value="Invia">
    </form>
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    <form method="POST" name="modulo" onSubmit="return Modulo();">
    <input type=submit value="Invia">
    </form>


    e poi

    //INVIA IL MODULO
    else {
    document.modulo.action = "adduser.php";
    return true;
    }

  4. #4

    azz

    niente ragazzi, ho provato entrambi le soluzioni ma non va!

    Qualcuno può testarlo?
    Sono su linux e uso konqueror e quì non c'è il debug per gli errori javascript come per windows.

    Ho provato l'esempio di html.it e ha funzionato perfettamente sul mio browser.

    Ho anche provato con mozilla ma neanche lì funziona!

    Io penso ad un errore mio, ma l'ho riletto 10 volte... troppo sonno?

    Grazie per l'aiuto,
    Ciaoo

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non dici che errore ti da`.

    In particolare:
    - se ci sono campi non compilati ti da` l'alert relativo? dopo il focus resta nel campo?

    - in caso di errore invia comunque il form?

    - in caso di form corretto invia il form?

    Altre domande:
    Esiste la pagina php chiamata dall'action? L'indirizzo e` corretto (intendo la path)?

    Tieni presente che i nomi dei file sono case-sensitive sui server linux, ma non sui server windows.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6

    è tutto ok

    non ti dico che errore ti da, perchè non ne restituisce alcuno!!!

    Praticamente, non compilando nessun campo e premendo il bottone in fondo alla pagina il form viene correttamente inviato al mio script in php ma senza rilasciare alcun alert, senza bloccare NULLA!!

    E' questo il problema, non restituisce alcun errore, non si capisce dove sia l'errore nello script e io sto slerando!!


    Non da neanche il focus nel campo text! Proprio niente... Che stress!!

    Aiuto ragazzi!
    Ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    prova semplicemente cambiando questa riga:

    <input type=submit value="Invia" onClick="Modulo()">



    con questa:


    <input type="button" value="Invia" onClick="Modulo()">

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    codice:
    <script type="text/javascript" language="javascript">
    <!--
    
    	function checkForm (theForm)
    	{
    		if (!theForm) return;
    
    		var noError = true;
    		var errorTxt = "";
    
    		if (document.forms[theForm].elements["nome"].value == "") {
    			noError = false;
    			errorTxt += " - il campo 'nome' risulta vuoto\n";
    		}
    
    		if (document.forms[theForm].elements["cognome"].value == "") {
    			noError = false;
    			errorTxt += " - il campo 'cognome' risulta vuoto\n";
    		}
    
    		if (document.forms[theForm].elements["username_pop3"].value == "") {
    			noError = false;
    			errorTxt += " - il campo 'username pop3' risulta vuoto\n";
    		}
    
    		if (document.forms[theForm].elements["password_pop3"].value == "") {
    			noError = false;
    			errorTxt += " - il campo 'password pop3' risulta vuoto\n";
    		}
    
    		if (document.forms[theForm].elements["username_sms"].value == "") {
    			noError = false;
    			errorTxt += " - il campo 'username sms' risulta vuoto\n";
    		}
    
    		if (document.forms[theForm].elements["password_sms"].value == "") {
    			noError = false;
    			errorTxt += " - il campo 'password sms' risulta vuoto\n";
    		}
    
    		if ( isNaN(document.forms[theForm].elements["tot_sms"].value) ) {
    			noError = false;
    			errorTxt += " - il campo 'numero totali' risulta vuoto o non valido\n";
    		}
    
    		if (!noError) alert ("Si sono verificati i seguenti errori:\n" + errorTxt);
    		return noError;
    	}
    
    //-->
    </script>
    
    ...
    
    <form method="post" action="adduser.php" onsubmit="return checkForm(this);">
    	...
    	<input type="submit" value="Invia" />
    </form>
    aggiungi solo i campi OPPURE posta TUTTA la pagina o il link.

  9. #9

    niente da fare... ecco la pagina intera!

    eccola con l'ultima proposta di $$$:
    codice:
    <html>
    <head>
    <title>Aggiungi un utente</title>
    <link rel="stylesheet" type="text/css" href="style.css">
    
    </head>
    
    <body bgcolor="#FFFFFF">
    <table width="780" border="0" cellspacing="0" cellpadding="0" align="center" bgcolor="#DFDFDF">
      <tbody>
        <tr>
          <td>[img]sms.gif[/img]</td>
          <td><div align=right>  <span class=titolo>Aggiungi un utente</span>
    <span class=sottotitolo>Compila con attenzione i campi richiesti. Il segno ( ? ) identifica un aiuto in linea.</span></div></td>
        </tr>
      </tbody>
    </table>
    
    
    <table width="780" border="0" cellspacing="0" cellpadding="0" align="center">
      <tbody>
        <tr>
          <td>
    * Campi obbligatori.
    
    
    
    
    <script type="text/javascript" language="javascript">
    <!--
    
            function checkForm (theForm)
            {
                    if (!theForm) return;
    
                    var noError = true;
                    var errorTxt = "";
    
                    if (document.forms[theForm].elements["nome"].value == "") {
                            noError = false;
                            errorTxt += " - il campo 'nome' risulta vuoto\n";
                    }
    
                    if (document.forms[theForm].elements["cognome"].value == "") {
                            noError = false;
                            errorTxt += " - il campo 'cognome' risulta vuoto\n";
                    }
    
                    if (document.forms[theForm].elements["username_pop3"].value == "") {
                            noError = false;
                            errorTxt += " - il campo 'username pop3' risulta vuoto\n";
                    }
    
                    if (document.forms[theForm].elements["password_pop3"].value == "") {
                            noError = false;
                            errorTxt += " - il campo 'password pop3' risulta vuoto\n";
                    }
    
                    if (document.forms[theForm].elements["username_sms"].value == "") {
                            noError = false;
                            errorTxt += " - il campo 'username sms' risulta vuoto\n";
                    }
    
                    if (document.forms[theForm].elements["password_sms"].value == "") {
                            noError = false;
                            errorTxt += " - il campo 'password sms' risulta vuoto\n";
                    }
    
                    if ( isNaN(document.forms[theForm].elements["tot_sms"].value) ) {
                            noError = false;
                            errorTxt += " - il campo 'numero totali' risulta vuoto o non valido\n";
                    }
    
                    if (!noError) alert ("Si sono verificati i seguenti errori:\n" + errorTxt);
                    return noError;
            }
    
    //-->
    </script>
    
    <form method="POST" action="adduser.php" onsubmit="return checkForm(this);" >
    <table width=700 cellspacing=0 border=0 cellpadding=0 align="center">
    	<tr>
    		<td>* Nome:</td>
    		<td><input type="text" name="nome"  ><td>
    		<td></td>
    	</tr>
    
    	<tr>
    		<td>* Cognome:</td>
    		<td><input type="text" name="cognome"  ><td>
    		<td></td>
    	</tr>
    
    	<tr>
    		<td>* Username pop3:</td>
    		<td><input type="text" name="username_pop3"  ><td>
    		<td></td>
    	</tr>
    
    	<tr>
    		<td>* Password pop3:</td>
    		<td><input type="password" name="password_pop3"  ><td>
    		<td></td>
    	</tr>
    
    	<tr>
    		<td>* Username sms:</td>
    		<td><input type="text" name="username_sms"  ><td>
    		<td></td>
    	</tr>
    
    	<tr>
    		<td>* Password sms:</td>
    		<td><input type="password" name="password_sms"  ><td>
    		<td></td>
    	</tr>
    
    	<tr>
    		<td>* Username accesso:</td>
    		<td><input type="text" name="username_login"  ><td>
    		<td></td>
    	</tr>
    
    	<tr>
    		<td>* Password accesso:</td>
    		<td><input type="password" name="password_login"  ><td>
    		<td></td>
    	</tr>
    
    
    	<tr>
    		<td>* Numero di sms a disposizione per le notifiche:</td>
    		<td><input type="text" name="tot_sms" size=8 ><td>
    		<td></td>
    	</tr>
    
    	<tr>
    		<td>* Stato:</td>
    		<td><input type="radio" name="stato" value=1 checked> Attivo - <input type="radio" name="stato" value=2 > Non attivo<td>
    		<td></td>
    	</tr>
    
    </table>
    <div align=center>
    <input type="hidden" value="controlla" name=op>
    <input type=submit value="Invia Utente"><input type=reset value="Ripristina">
    
    </div>
    
    </form>
    </tr>
      </tbody>
    </table>
    </body>
    
    </html>
    Cmq ho già implementato un controllo lato server, dal php stesso così non ho problemi, ma mi serve ugualmente lo javascript per il controllo via browser per quello che può valere.

    La pagina è intera, non ho tolto nulla... che rebus!

    Notte
    Ciaoo

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La sintassi HTML non e` delle migliori, ma se non c'e` il <!DOCTYPE ... all'inizio dovrebbe essere interpretata correttamente da tutti i browser (tranne forse Opera).

    Di solito lo script di questo tipo viene inserito nell'head della pagina, ma anche questo non dovrebbe dare problemi.

    Trovato l'errore:
    Nella funzione passi l'oggetto del form, mentre nella funzione lo usi come nome:
    Nella funzione devi cambiare tutti i tuoi
    document.forms[theForm].elements...
    con
    theForm.elements...

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.