Envoi formulaire via AJAX
Bonjour à tous les amis !
J'ai un petit problème, je souhaite traiter mon formulaire via un script ajax tout fonctionne sauf qu'il faut que j'appuie deux ou trois fois sur valider pour qu'il m'envoi mon formulaire !
Je ne comprends pas. Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
<script type="text/javascript">
$(function(){
$("#contact").submit(function(event){
var nom = $("#name").val();
var tel = $("#tel").val();
var sujet = $("#subject").val();
var email = $("#email").val();
var message = $("#message").val();
var dataString = nom + sujet + email + message;
var msg_all = 'Merci de remplir tous les champs';
var msg_alert = 'Merci de remplir ce champs';
if(dataString == '')
{
$('#msg_all').html(msg_all);
}
else if(nom == '')
{
$('#msg_nom').html(msg_alert);
}
else if(tel == '')
{
$('#msg_tel').html(msg_alert);
}
else if(sujet == '')
{
$('#msg_sujet').html(msg_alert);
}
else if(email == '')
{
$('#msg_email').html(msg_alert);
}
else if(message == '')
{
$('#msg_message').html(msg_alert);
}
else
{
$("form.contact").submit(function() {
s = $(this).serialize();
$.ajax({
type: "POST",
data: s,
url: $(this).attr("action"),
success: function(retour){
$('#contact').html('<p>Formulaire bien envoyé</p>');
}
});
return false;
});
}
return false;
});
});
</script> |
Et le Formulaire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
<form method="post" id="contact" class="contact" action="process.php">
<div>
<div class="row">
<div class="4u">
<input type="text" name="name" id="name" placeholder="Nom / Société" />
<span id="msg_nom"></span>
</div>
<div class="4u">
<input type="tel" name="tel" id="tel" placeholder="Téléphone" />
<span id="msg_tel"></span>
</div>
<div class="4u">
<input type="email" name="email" id="email" placeholder="Email" />
<span id="msg_email"></span>
</div>
</div>
<div class="row">
<div class="12u">
<input type="text" name="subject" id="subject" placeholder="Sujet" />
<span id="msg_sujet"></span>
</div>
</div>
<div class="row">
<div class="12u">
<textarea name="message" id="message" placeholder="Message"></textarea>
<span id="msg_message"></span>
</div>
</div>
<div class="row double">
<div class="12u">
<ul class="actions">
<li><input type="submit" namevalue="Envoyer Message" /></li>
<li><input type="reset" value="Reset Formulaire" class="alt" /></li>
</ul>
<span id="msg_all"></span>
</div>
</div>
</div>
</form> |
Merci de votre aide. =)