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 :

débutant / message d'envoi de formulaire


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 4
    Par défaut débutant / message d'envoi de formulaire
    Bonjour à tous,

    J'ai lu pas mal de cours bien documentés hier sur les fonctions de vérification de champs de formulaires traités d'autre part par un fichier PHP... Je sais aussi que PHP à lui seul peut gérer la vérification des champs et les messages d'envoi ou d'erreur sans d'ailleurs recourir à javascript, j'ai déjà fait.... Néanmoins dans le cas présent comme je ne veux surtout pas que les visiteurs à un moment ou un autre soient redirigés vers le fichier de traitement (recomandation.php) et que les messages d'erreur (ainsi que de confirmation, mais c'est là le problème) doivent s'afficher à l'endroit du formulaire le plus simplement du monde, je laisse mon fichier recomandation.php traiter le formulaire et j'utilise javascript pour la vérification des champs.... jusque là, tout va bien... le formulaire est correctement traité, le visiteur est effectivement invité à revenir sur les champs s'il a zappés et la fonction function verification() que j'ai placée dans les balises <head></head> qui est appelée par un onsubmit dans les balises <form></form> fait son office de vérification.... MAIS rien ne confirme au visiteur qu'une fois tout ça ok le message est effectivement envoyé
    et encore une fois, je ne veux pas que (comme dans votre formularie d'inscription, mais là, ça se justifie...) ce soit le fichier php qui se charge de la confirmation, parce que le message de confirmation doit impérativement apparaitre au niveau du formulaire sans redirection aucune... vous l'aurez compris

    j'ai un moment pensé qu'on pouvait attribuer à l'évènement onsubmit deux fontions : function verification() + une fontion print... mais dans ce cas la fonciton print s'exécuterait même lorsque les champs ne sont pas ok non ?
    > ma question est : est-ce qu'on peut compléter la fonction function verification() de façon à ce qu'elle traite ce problème et affiche un message tout simple genre : merci à vous / une fois le formulaire envoyé.

    pour info

    <script type="text/javascript" language="Javascript" >
    <!--
    function verification()
    {
    if(document.invitation.nomexp.value == "") {
    alert("Veuillez entrer votre nom svp");
    document.invitation.nomexp.focus();
    return false;
    }
    else
    if(document.invitation.maildest.value == "") {
    alert("Veuillez entrer le mail du destinataire svp");
    document.formulaire.prenom.focus();
    return false;
    }
    else
    if(document.invitation.maildest.value.indexOf('@') == -1) {
    alert("Ce n'est pas une adresse electronique, verifiez la svp");
    document.invitation.maildest.focus();
    return false;
    }
    return true
    }
    //-->
    </script>

    et mon formulaire, dans cette template (et oui, c'est un tpl.... et je galère avec les templates php...aussi le recomander.php ne peut qu'être inclu dans les fichiers de configuration de l'entête et non directement dans la template elle-même de même qu'on ne peut pas inclure dans la template de code php type <echo=""> ) commence par :

    <form action="" method="post" name="invitation" class="lientext" onSubmit="return verification()">

    au fait, c'est un tout petit formulaire de recomandation, c'est pour ça qu'une redirection pour un truc aussi minus serait vraiment too much

    merci à vous si vous avez une suggestion pour répondre à cette question
    le plus simplement possible, ça doit pas être un sujet de prise de tête...
    et si c'est pour me répondre que seul PHP peut gérer ça, vous pouvez aller vous faire griller sous le soleil !

    PS : j'étais en train de penser que je pourrais mettre le formulaire dans une petite iframe pour gérer confortablement l'affichage... mais il n'en est pas question non plus parce que y a des champs cachés dans le formulaire sensés récupérer l'url de la page pour l'envoyer, donc ce serait nul

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 144
    Par défaut
    Si j'ai bien compris ton problème (tu me pardonneras le cas contraire j'ai encore la tête ds le ... l'oreiller, j'aurai bien aimé )

    le message de confirmation doit impérativement apparaitre au niveau du formulaire sans redirection aucune
    Tu voudrais qu'il test ton formulaire et t'affiche un message si celui ci est correct mais qu'il ne lance pas l'action ?

    j'ai un moment pensé qu'on pouvait attribuer à l'évènement onsubmit deux fontions : function verification() + une fontion print
    Qu'entends tu par fonction print ???

    Ce que je te propose c'est de remplir un div avec le message desiré selon le résultat de la vérification.

    pour le code html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="result"></div>
    pour le javascript derrière, tu ajoutes la ou tu veux un feedback :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById ("result").innerHTML = 'ton message'
    en espérant t'aider

  3. #3
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par défaut
    dans ta fonction de vérification que tu places sur le onsubmit, il suffit que tu fasses quelque chose dans ce gout là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    si erreur alors
        ecrire message d'erreur
        retourne faux (le submit ne se lancera pas)
    sinon
         ecrire message de confirmation
         retourne vrai (le submit se lancera)
    en gros, si ta fonction retourne faux, le submit ne se fait pas...
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 4
    Par défaut
    Merci d'avoir répondu... vue que c'est pas pour susciter un grand anthousiasme

    la fonction de vérification existe déjà, on est bien d'accord ?
    le submit ne se lance pas sans ça...

    pour répondre au message qui me recommandait de rajouter un <div id="result"></div> / je l'ai rajouté à l'emplacement où mon message de retour devrait s'afficher une fois le formulaire envoyé... et, si j'ai bien compris, j'ai modifié le function verification() sur la fin comme suit :

    ......
    return true;
    document.getElementById('Result').innerHTML = 'merci à vous';
    }

    ben disons que ça n'affecte aucunement ni les vérificaitons ni l'envoi du formulaire... mais probablement que ma question est mal posée ou n'a pas lieu d'être... en effet, onsubmit... la page est rechargée de toute manière... c'est surement pas pour rien que dans tous les exemples que j'ai vu c'est le fichier php de traitement qui gère ce message...

    puis si vous donnez des suggestions, svp développez davantage, parce que j'ai de graves lacunes, je travaille surtout le graphisme...

    si vous voulez je peux vous donner le lien, vous comprendrez mieux ce que je veux dire

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 4
    Par défaut
    MasterOfChakhaL , pardon, j'ai zappé votre message

    c'est ça, exactement aussi simple que ça
    et function verification()

    devient sur la fin
    ....
    }
    alert("Merci à vous");
    return true
    }

    ça suffit à les réconforter

    merci encore

  6. #6
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par défaut
    vu que c'est un message de confirmation que tu veux, il doit être placé après le submit (chronologiquement)

    il te faut donc l'écrire dans la partie php.
    si ta vérification est bonne (pas d'erreur détectée ), tu écris un petit bout d'html qui dit youpi

    si tu ne sais pas trop comment t'y prendre, balance ton code php ou alors va directement poster sur le forum php

    EDIT:
    le alert est possible mais c'est vrai que c'est pas top.

    dans ta fonction vérification, il suffit de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    alert('youpi');
    return true;
    et non l'inverse, car une fois qu'il y a la l'instruction return, tu sors de la fonction
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

Discussions similaires

  1. envoi de formulaire vers une boite mail + message a l'écran
    Par Invité dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 09/05/2011, 20h02
  2. [OL-2003] Problem outlook formulaire message d'envoie
    Par ohjojo dans le forum Outlook
    Réponses: 0
    Dernier message: 09/07/2009, 11h48
  3. question de débutant : messages dans formulaire
    Par flamant dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/06/2009, 05h09
  4. [Débutant] Envoi de formulaire
    Par k0b0ldqcca dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/04/2009, 17h09
  5. [HTML] Problème d'envoi de formulaire
    Par autumn319 dans le forum ASP
    Réponses: 26
    Dernier message: 03/09/2003, 10h06

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