Bonjour à tous,

Je n'arrive pas à faire en sorte que lorsqu'un utilisateur se trompe dans la confirmation de son mot de passe celui-ci soit retesté si changements dans les inputs correspondants.

Je ne sais pas où placer les 'keyup' ou 'change' pour que cela marche...

D'autre part, pourquoi si je mets e.preventDefault juste après la première ligne, le code ne s'éxécute pas même si il n'a rencontré aucun "return false" ?

Les tests coté serveur et formulaire fonctionnent puisque il n'y a pas de soumission de formulaire si les mdp ne correspondent pas, cependant comment implémenter la possibilité de continuer à tester les champs password avant de recliquer à nouveau sur le bouton submit ?

Merci d'avance

Voici le code fonctionnel :

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
50
51
52
53
54
$(function () {
    $('#registrationForm').submit(function (e) {
        var valid = this.checkValidity();
 
        if (valid) {
 
            var userName = $('#userName').val()
            var userPassword = $('#userPassword').val()
            var confirmUserPassword = $('#confirmUserPassword').val()
            var userPhone = $('#userPhone').val()
            var userEmail = $('#userEmail').val()
 
            //e.preventDefault()
            //e.stopPropagation()
            //On vérifie que les 2 mots de passe sont égaux :
 
            function validatePassword() {
 
 
                if (userPassword != confirmUserPassword) {
                    $('#errUserConfirmPassword').text("ATTENTION : Les deux mots de passe renseignés ne correspondent pas.");
                    e.preventDefault()
                    alert('no-match')
                    return false
                } else {
                    $('#errUserConfirmPassword').text("Les mots de passe correspondent.")
                    alert('match')
                    return true
                }
            }
 
            validatePassword()
 
 
            $.ajax({
                type: 'POST',
                url: './includes/registrationForm.php',
                data: {
                    userName: userName,
                    userPassword: userPassword,
                    userPhone: userPhone,
                    userEmail: userEmail
                },
                dataType: 'json',
                encode: true,
            }).done(function (data) {
                alert('Utilisateur enregistré !.')
            })
        }
 
    })
    $('#userPassword')[0].keyup = validatePassword();
    $('#confirmUserPassword')[0].keyup = validatePassword();
})