Controllo form non riconosciuto

di il
3 risposte

Controllo form non riconosciuto

Salve, vorrei creare un controllo in Js per i tre input che l'utente inserisce, solo che è come se il codice js non ci fosse proprio quando testo. Dove sbaglio? I controlli non vengono proprio fatti

<!DOCTYPE html>
<html>
    <head>
        <title>Registrazione</title>
        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans&display=swap">
        <link rel="stylesheet" href="style2.css">
	<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<!-- Popper JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>

<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script type="text/javascript">
		
		function validation(){

			var user = document.getElementById('Username').value;
			var pass = document.getElementById('Pass').value;
			var codice = document.getElementById('Codice').value;
	
			if(user == ""){
				document.getElementById('Username').innerHTML =" ** Please fill the username field";
				return false;
			}
			if((user.length <= 2) || (user.length > 20)) {
				document.getElementById('Username').innerHTML =" ** Username lenght must be between 2 and 20";
				return false;	
			}
			
			if(pass == ""){
				document.getElementById('Pass').innerHTML =" ** Please fill the password field";
				return false;
			}
			if((pass.length <= 5) || (pass.length > 20)) {
				document.getElementById('Pass').innerHTML =" ** Passwords lenght must be between  5 and 20";
				return false;	
			}

			if(codice == ""){
				document.getElementById('Codice').innerHTML =" ** Please fill the codice field";
				return false;
			}
			if(codice!="777") {
				document.getElementById('Codice').innerHTML =" codice doesn't match";
				return false;	
			}

		}

	</script>


    </head>
    <body>
        <form method="post" action="registrazione.php" name="registrazione" onsubmit="return validation()">
            <h1>Registrazione</h1>
            <input type="text" id="Username" placeholder="Username" name="Username" maxlength="50" required>
            <input type="password" id="Pass" placeholder="Password" name="Pass" required>
			<input type="password" id="Codice" placeholder="codice" name="Codice" required>
            <button type="sumbit" name="Registra" >Registrati</button>
			<br>
					<a href="login.php">
Login Segretario
</a>
<br>
<a href="loginStud.php">
Login Studente
</a>
        </form>
    </body>
</html>

3 Risposte

  • Re: Controllo form non riconosciuto

    Usa i Developer Tools del browser (tasto F12) e fai il debug del tuo script passo per passo, oppure aggiungi dei console.log() per verificare qual è la sequenza di operazioni che viene eseguita dal browser quando effettui l'invio dei dati.

    Tieni presente che se usi gli attributi di validazione (maxlength, required, ecc.) questi sono prioritari sul submit, nel senso che vengono validati prima e - se non rispettati - impediscono di procedere con l'invio dei dati tramite submit, quindi la tua logica non verrà eseguita.

    Ciao!
  • Re: Controllo form non riconosciuto

    Ciao sono riuscito a risolvere, però mi rimane un problema. Il controllo sull'ultimo if è inutile, nel senso, se il codice non è 777 viene visualizzato l alert, ma poi comunque la registrazione va a buon fine. Come mai?
    Rettifico, ora lo fa con tutti i campi
  • Re: Controllo form non riconosciuto

    MrAlex ha scritto:


    Ciao sono riuscito a risolvere, però mi rimane un problema. [...]
    Rettifico, ora lo fa con tutti i campi
    Senza vedere il codice, difficilmente si possono fare delle ipotesi.
    Caricalo da qualche parte in modo che si possa verificare o riportalo qui.
Devi accedere o registrarti per scrivere nel forum
3 risposte