Salve a tutti,
vi posto di seguito il codice che sto utilizzando al momento per effettuare la validazione del form in tempo reale, e di conseguenza il submit dei dati ad uno script php che elabora gli stessi e restituisce un messaggio di operazione effettuata.
Vorrei che IL TUTTO fosse fatto SENZA cambiare pagina!
codice:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TEST</title>
</head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://jzaefferer.github.com/jquery-validation/jquery.validate.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#val_form').validate({
rules: {
nome: {
required: true,
minlength: "2"
},
cognome: {
required: true,
minlength: "2"
}
},
messages: {
nome: {
required: "Campo obbligatorio!",
minlength: "Nome troppo corto!"
}
}
});
$('#submit').click(function(){
$.ajax({
type:"POST",
url: "check.php",
data: {nome: document.getElementById('nome').value, cognome: document.getElementById('cognome').value},
success:function(){
$('#validation2').html(msg);
}
}
);
});
});
</script>
<body>
<div id="validation">
<form method="post" id="val_form" name="val_form" action="">
<label for="nome">Nome: *</label>
<input id="nome" name="nome" type="text" required/>
<label for="cognome">Cognome: * </label>
<input id="cognome" name="cognome" type="text" required/>
<div id="button">
<input type="submit" id="submit" value="invia"/>
</div>
<div id="validation2"></div>
</form>
</div>
</body>
</html>
Supponiamo che lo script "check.php" restituisca solo un messaggio di avvenuta registrazione.
La validazione dei campi in tempo reale è totalmente funzionante, il mio problema è che il submit dei dati non viene fatto regolarmente e il messaggio non appare, anzi appare solo nel momento in cui invio i dati con i campi vuoti, dove sbaglio ??
Ringrazio tutti e aspetto il vostro aiuto.