Bonjour,
J'aurais aimé savoir si quelqu'un aurait des piste pour une validation de mail en jquery ???
J'aimerais faire ceci :
lorsque la personne saisie son mail :
- validation du mail à la saisie sur le fait de savoir si c'est bien un mail
- en parallèle est-il possible de faire une validation instantannée pour voir si le mail existe bien dans la base de données ???
J'ai fais ceci mais j'ai du mal :
mon form
mon fichier requete2.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <input type="text" name="email" id="email" value="Votre adresse mail" /> <label for="email"> <span class="red">*</span> Saisissez votre adresse @-mail.<br /> <span id="result" name="result"></span> </label> <input class="submit" type="submit" name="submit_first" id="submit_first" value="" />
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 $email = mysql_real_escape_string($_POST['email']); $query = "SELECT * FROM utilisateurs WHERE email_utilisateurs ='".$email."'"; $result = mysql_query($query); $utilisateurs = mysql_fetch_array($result); $num_rows = mysql_num_rows($result); if(filter_var($email, FILTER_VALIDATE_EMAIL)){ if($num_rows !=0){ echo '<input class="red" type=text value="email non disponible"/>'; }else{ echo '<input class="green" type=text value="mail disponible"/>'; } }else{ if($email == 'Votre adresse mail'){ echo '<input class="red" type=text value="Veuillez saisir un mail"/>'; }else{ echo '<input class="red" type=text value="emal invalide"/>'; } }
et mon fichier jquery.main.js
j'arrive à valider tout ce don't j'ai besoin, j'arrive à afficher ce que je veux mon span result (email valide, invalide, disponible....) mais lorsque tout mes champs sont remplis j'ai toujours email non-disponible(déjà utilisé)et mon form est quand même validé et je passe à l'étape suivante...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 $('#submit_first').click(function(){ //remove classes $('#first_step input').removeClass('error').removeClass('valid'); //ckeck if inputs aren't empty var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; var fields = $('#first_step input[type=text], #first_step input[type=password]'); var error = 0; $.post("requete2.php", { email: $("#email").val() }, function(data) { $("#result").html(data); }); fields.each(function(){ var value = $(this).val(); if(value.length<4 || value==field_values[$(this).attr('id')] || ( $(this).attr('id')=='email' && !emailPattern.test(value) ) || $('#email').val() != $('#email2').val()){ $(this).addClass('error'); $(this).effect("shake", { times:3 }, 50); error++; } else { $(this).addClass('valid'); } }); if(!error) { if( $('#newPass').val() != $('#newPass2').val() ) { $('#first_step input[type=password]').each(function(){ $(this).removeClass('valid').addClass('error'); $(this).effect("shake", { times:3 }, 50); }); return false; } else { //update progress bar $('#progress_text').html('33% Complete'); $('#progress').css('width','113px'); //slide steps $('#first_step').slideUp(); $('#second_step').slideDown(); } } else return false; });
J'ai voulu faire ceci:
le souci est que je n'arrive pas à le mettre au bon endroit...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 if($('#result').val() == 'email non disponible'){ $(this).addClass('error'); $(this).effect("shake", { times:3 }, 50); error++; }else{ $(this).addClass('valid'); }
merci pour votre aide
Partager