11521 sujets

JavaScript, DOM et API Web HTML5

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, afin de débloquer le boutton de validation on vérifie que les conditions sois bien rempli grâce au deux fonction suivante

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


Qui appelle donc

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);
    }


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, donc si quelqu'un aurai au moins une piste ça m'éviterai de m'arracher le peut de cheveux qu'ils me restent ^^

Merci
Merci bien allan00958, mais l'attribut required ne m'est d'aucune utilité ici vue quand mes champs input sont déjà rempli quand je charge ma page, se qu'il me faudrait c'est qu'une fois la page charger j'ai une fonction qui contrôle que mes champs sois bien rempli et ceci sans action de la part de l'utilisateur.

En faite pour le moment quand je recharge ma page avec toute les infos inclus, le champs n'est validé que si l'on modifie ce champ. Désolé c'est pas évident à expliquer ^^.
Salut Smiley smile

Je vois pas bien l'intérêt de valider des champs qui sont préremplis par un retour de bdd...
Si c'est dan sla bdd c'est donc déjà passé par une validation.. tu reviens pour une modification... c'est donc seulement à la nouvelle validation de cette modification que vérifier les champs est utile ... Smiley biggol
Je suis tout as fait ok avec toi pchlj, mais je voudrais faire cette vérif pour deux simples raison, la première est tout simplement pour vérifier que la table ne me retourne pas de champ vide (on ne sais jamais) et si l'utilisateur ne le remarque pas est qu'il valide ça pourrais supprimer les données concerner, la deuxième et que mon bouton de sauvegarde et activer uniquement si tout les champs ont été contrôler et j'admet avoir un peut la fléme de modifier mes fonctions de contrôle en conséquence (j'utilise la page d’enregistrement on y incluant quelque condition pour les modifications, ça me fait économiser une page ^^)

Mais voilà, ta remarque est tout a fait cohérente et il se peut que je cherche a faire compliquer alors que je pourrais faire plus simple......
en fait en modification soit on fait une action soit on annule...

donc si la bdd te retourne un champs vide (improbable si tu fais bien tes vérifications sur les champs obligatoires lors du premier enregistrement), lors de la validation tes tests feront ressortir ce champs vide ce qui n'effacera rien puisque si la bdd te retourne du vide c'est que c'est vide Smiley smile

Et secondo rien ne t'empèche d'activer ton bouton pour le cas de la modification Smiley rolleyes