Partage
  • Partager sur Facebook
  • Partager sur Twitter

Contrôler input sans saisie manuelle

Sujet résolu
24 octobre 2016 à 15:29:17

Bonjour à tous, alors voilà j'ai un formulaire d'enregistrement (nom, prénom....) que l'utilisateur rempli afin de pouvoir compléter son inscription, jusque là pas de soucie, maintenant je voudrai pouvoir donner la possibilité à l'utilisateur de pouvoir modifier son profil (après l'avoir enregistrer dans la BD bien évidemment). Pour cela je recharge un formulaire en lui donnant les valeurs entrées dans la base de données et c'est ici que commence la prise de tête...

Afin de mieux comprendre, voilà un ptit bout de code.

Donc ici j'ai mon input (vide si aucune entrer dans la base existe,  sinon on le rempli avec les données de la base)

<div class="form-group has-feedback">
                <label  class="col-sm-3 control-label">Nom* :</label>
                <div class="col-sm-6">
                    <input type="text" class="form-control" id="nom" placeholder="Votre nom" value="<?php if(isset($info)){echo $info[0];} ?>">
                    <span class="glyphicon form-control-feedback"></span>
                    <div class="error"></div>
                </div>
            </div>

Ensuite on contrôle que les données saisi soient correct

function validnom(valeur) {
        if (valeur == "") {
            errorForm('#nom', "Un pseudo est obligatoire", "error");
        } else if (valeur.length < 2) {
            errorForm('#nom', "Votre nom doit contenir plus de 2 caractères", "");
        }  else {
            errorForm('#nom', "", "success");
            return (true);
        }
        return (false);
    }

Et pour finir quand toute les conditions sont rempli on débloque le bouton de validation

$('#nom').on('input', function() {
     Bnom=validnom($(this).val());
     (Bnom && Bprenom && Badresse && Bville && Bcp)?$("#send").prop('disabled', false):$("#send").prop('disabled', true);
    });


Le problème est que lorsque le champ input se rempli automatiquement, il n'y a donc aucune "interaction" dans celui-ci et ma validation ne peut donc pas se faire. Et vous aurez donc comprit que je cherche à valider mon champ input dés que celui-ci est "auto-rempli" ou plus tard peut importe

J’espère avoir été assez clair (bien que ça sois la fonction de validation qui fait appelle à la fonction de vérification).

Donc si quelqu'un aurai au moins une piste ça m'éviterai de m'arracher le peut de cheveux qu'ils me restent ^^

Merci

-
Edité par Leiqin 24 octobre 2016 à 15:30:14

  • Partager sur Facebook
  • Partager sur Twitter
24 octobre 2016 à 17:33:05

Salut,

Une solution possible est simplement d'effectuer tes vérifications dès le chargement de la page.

Pour faire ceci, tu peux déplacer le code responsable des vérifications dans une fonction et appeler cette fonction lors de l'interaction de l'utilisateur et au chargement de la page :

function verifications() {
    console.log('verif');
}

// verifications à la saisie
$('#nom').on('input', function() {
    verifications();
});

// verifications au chargement de la page
$(document).ready(function() {
    verifications();
});

Bonne journée,

  • Partager sur Facebook
  • Partager sur Twitter
24 octobre 2016 à 17:56:54

Salut,

Leiqin a écrit:

Le problème est que lorsque le champ input se rempli automatiquement, il n'y a donc aucune "interaction" dans celui-ci et ma validation ne peut donc pas se faire.

En php tu veux dire? Tu peux déclencher ta fonction de vérification JS au chargement de la page pour vérifier si les champs ne sont pas vides pour palier à ça du coup.

Leiqin a écrit:

J’espère avoir été assez clair (bien que ça sois la fonction de validation qui fait appelle à la fonction de vérification).*

Ben la, j'ai pas trop comprit, car tu veux valider pour vérifier alors qu'il faut vérifier pour accéder à la validation :o ( ou alors j'ai rien compris et je rejoins ton groupe d'arrachage de cheveux x) )

Après le chargement de la page sinon tu as l’événement keyup() que tu peux appeler sur ton input pour vérifier à chaque modification si ça répond bien aux conditions que tu poses.



-
Edité par Sanatorium 24 octobre 2016 à 17:57:49

  • Partager sur Facebook
  • Partager sur Twitter
Mysteries are revealed in the light of reason
24 octobre 2016 à 18:29:13

Merci pitet, je vais testé ta solution et sanatorium effectivement, mes input se remplisse en php au chargement de la page.

En se qui concerne la validation et la vérification, effectivement je lance ma fonction de validation qui elle va appeler ma fonction de vérification qui va lui retourner si oui ou non elle peut valider le formulaire ^^. 

En faite, pour faire encore plus simple, on dirai que mon code ne prend pas en compte le remplissage de mes inputs et de se fait pour le moment, je suis obliger d'entrer au moins un caractère (en plus du remplissage) pour que mes fonctions se mettent en marche. 

  • Partager sur Facebook
  • Partager sur Twitter