IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Validation automatique d'un formulaire


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    749
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 749
    Par défaut Validation automatique d'un formulaire
    Bonjour,

    je voudrais simplifier les allers/retours entre un CMS et un utilisateur lors de la procédure de réinitialisation d'un mot de passe.

    J'arrive à changer les mails envoyés à l'utilisateur pour que l'URL qu'il cliquera ensuite préremplisse un formulaire sur le site
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (isset($_GET['token']))
    {
    $token = $_GET['token'];
    }
    ?>
    <input id="token" name="token" type="text" class="required" size="36" value="<?=$token;?>" />
    Oui mais il faut encore qu'il clique sur le bouton "Valider" !

    Y a-t-il un moyen de valider automatiquement le formulaire quand le champ est prérempli ?

    Merci pour l'aide
    PAul

  2. #2
    Membre très actif Avatar de polkduran
    Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 155
    Par défaut
    en js tu peux faire une fonction que 'submit' ton form

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    function submitForm(){
        var champToken = document.getElementById('token');
        if(champToken.value != ''){
    		var tonForm = document.getElementById('idDuForm');
    		tonForm.submit();
    	}
    }
    submitForm();
    soit tu mets ce code à la fin du body pour être sûr que ton form soit déjà chargé, soit tu mets un événement 'onload' dans ton body qui exécute ta fonction

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    749
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 749
    Par défaut
    Aïe... mes pages sont gérées par Joomla. C'est à dire qu'il y a pas mal d'appels à différents scripts PHP pour constituer la page bout par bout. Je ne suis pas sûr de pouvoir remonter la piste de celui qui génère le header et de le modifier pour cette page-là...

    Je me demande s'il n'y a pas plus simple en fait...

    On ne peut pas valider un formulaire directement depuis un email reçu en cliquant sur un lien contenant des variables ?

  4. #4
    Membre très actif Avatar de polkduran
    Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 155
    Par défaut
    je ne cornais pas joomla mais le problème d'envoyer des données via une url (en dehors des problèmes de sécurité) c'est que la requête se fait en GET et je ne sais pas si joomla interprète de la même manière la réception d'un formulaire ne GET et en POST tu peux essayer d'envoyer tes données par l'url et voir ce qui se passe

    c'est à dire, identifier l'url de validation du formulaire et envoyer les données en GET :

    http://tonsite.com/urlvalidationform?nom=dupuis&prenom=toto

    et ainsi de suite pour toutes les données d'un formulaire


    mais je crois c'est plus facile d'insérer le bout de code javascript quelque part après le formulaire et de renseigner l'id du form dans fonction javascript

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    749
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 749
    Par défaut
    Oui tu as raison : ça ne passe pas en GET

    ET OK ça passe effectivement avec ton code javascript, tel que tu me l'as expliqué.

    La seule chose qui m'embête c'est qu'on transite 1 seconde sur la page de validation avant d'être redirigé en vers la page suivante (c'est la suite normale du script PHP).

    J'aimerais que cette validation (transition) soit invisible pour l'utilisateur...

  6. #6
    Membre très actif Avatar de polkduran
    Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 155
    Par défaut
    en effet ton formulaire n'est pas envoyé tout de suite car la fonction js s'exécute après le chargement de la page
    en php il n'y a pas de redirection en POST alors peut-être tu peux essayer autre méthode pour valider tes données, je ne sais pas ce qu'il y a dans ton formulaire mais à un moment donnée tu dois charger des données pour le remplir, pourquoi pas au lieu d'afficher tes données du formulaire tu les enregistre tout de suite quand tu détecte la présence de $_GET['token']

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    749
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 749
    Par défaut
    Citation Envoyé par polkduran Voir le message
    pourquoi pas au lieu d'afficher tes données du formulaire tu les enregistre tout de suite quand tu détecte la présence de $_GET['token']
    Oui c'est comme ça qu'il faudrait faire ! Mais mes connaissances sont limitées...

    On repasse côté PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // je détecte la présence du token : OK ça fonctionne
    if (isset($_GET['token']))
    {
    $token = $_GET['token'];
    //Là j'essaie de rediriger mais je ne sais pas trop comment passer la variable token...
    $this->setRedirect('index.php?option=com_user&task=confirmreset');
    }
    A l'origine le script PHP de validation du formulaire est comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo JRoute::_( 'index.php?option=com_user&task=confirmreset' ); ?>" method="post" class="josForm form-validate">
    Une idée ?

  8. #8
    Membre très actif Avatar de polkduran
    Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 155
    Par défaut
    je ne connais joomla, donc de ce côté là je ne te serai pas très utile, mais je pense que
    Citation Envoyé par Mister Paul Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // je détecte la présence du token : OK ça fonctionne
    if (isset($_GET['token']))
    {
    $token = $_GET['token'];
    //Là j'essaie de rediriger mais je ne sais pas trop comment passer la variable token...
    $this->setRedirect('index.php?option=com_user&task=confirmreset');
    }
    ne pourra pas marcher car :
    'index.php?option=com_user&task=confirmreset'
    c'est juste l'url où tu envoies tes données, et la redirection n'enverra pas de données

    désolé pour ne pouvoir te donner plus d'indications
    peut-être si tu ouvres un post dans le forum php joomla tu auras plus de réponses

Discussions similaires

  1. Validation automatique d'un formulaire
    Par legrandse dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 11/06/2011, 07h14
  2. validation automatique d'un formulaire
    Par kaysous dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/02/2009, 09h14
  3. validation automatique d'un formulaire
    Par kaysous dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 15/02/2009, 00h05
  4. valider automatiquement le formulaire
    Par Mike35 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 27/09/2006, 11h18
  5. Validation automatique de formulaire (sans clic)
    Par budiste dans le forum Langage
    Réponses: 6
    Dernier message: 13/04/2006, 16h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo