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 :

empêcher submit formulaire via javascript


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 113
    Points : 73
    Points
    73
    Par défaut empêcher submit formulaire via javascript
    Bonjour à tous !

    je voudrais donc empêcher avec javascript le submint d'un formulaire sur lequel je n'ai pas la main. C'est-à-dire que je ne peux pas modifier la balise <form> pour lui adjoindre un onsubmit et faire ce que je veux.

    J'ai un champ input texte, qui est dans le formulaire en question. Lorsque l'utilisateur le remplit, il appuie sur entrée pour valider sa saisie. Je capte l'event de la touche, et peux donc interagir avec l'utilisateur comme je le souhaite. Le problème, c'est que lorsque mon script se finit, le formulaire dans lequel est contenu le champ texte est validé, provoquant un envoi et un rechargement de page que je souhaiterais éviter.

    Merci d'avance pour votre aide !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    sur lequel je n'ai pas la main.
    clairement je dis que ça sent le fishing ...

  3. #3
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    si tu captes l'event,tu peux tenter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    event.stopPropagation(); 
    event.cancelBubble = true;
    return false;

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 113
    Points : 73
    Points
    73
    Par défaut
    C'est vraiment, mais alors vraiment pas cool ce genre de propos sans aucune preuve, SpaceFrog. Et indigne d'un membre qu ipar ailleurs aide beaucoup de monde. Tu veux des détails ? En voila.

    Dans mon entreprise, nous sommes beaucoup a travailler sur un CRM que nos commerciaux utilisent. Ledit CRM est constitué d'objets, pour lesquels il y a un certain nombre d'onglets. Il est tout simplement impossible de modifier la structure générale des objets, qui sont en réalité chacun un énorme formulaire avec plein de champs, cela parce que l'ancienneté du code fait qu'il est extrêmement fragile. Nous nous contentons donc d'ajouter des fichiers en include à l'intérieur.

    Cependant, je ne veux pas que le formulaire soit envoyé via ce que je suis en train d'ajouter, tout simplement parce que ce n'est pas le but. Il doit être envoyé plus tard, après plusieurs autres interactions avec l'utilisateur.

    J'espère que cela suffira à te convaincre de ma bonne foi.

    [EDIT] merci Willpower, je vais tester et je te tiens au courant

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 113
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par Willpower Voir le message
    si tu captes l'event,tu peux tenter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    event.stopPropagation(); 
    event.cancelBubble = true;
    return false;
    Testé, ça ne fonctionne pas. Ca empêche le code javascript qui suit de s'effectuer, bien sur, mais le formulaire est submit quand même :p

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 113
    Points : 73
    Points
    73
    Par défaut
    Solution trouvée ! Voilà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function stopEvent(e)
    {
        if (e.stopPropagation) e.stopPropagation();
        else e.cancelBubble = true;
     
        if (e.preventDefault) e.preventDefault();
        else e.returnValue = false;
    }
    suffit d'appeler la fonction et de lui transmettre l'event a stopper. Merci pour l'aide !

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Tu veux des détails
    Ben fallait commencer par ça ...

    Désolé si ma supposition t'a froissé ...

  8. #8
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 113
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Ben fallait commencer par ça ...

    Désolé si ma supposition t'a froissé ...

    Au fait, je ne voyais aucun intérêt à les exposer, vu qu'ils n'aident en rien à la résolution du problème. C'est pour ça que je ne les ai pas écrits à la base. J'ai tenté d'aller le plus possible droit au but.

    Et il n'y a pas de mal

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appeler formulaire via javascript
    Par amduf dans le forum BIRT
    Réponses: 3
    Dernier message: 14/02/2012, 13h15
  2. Réponses: 3
    Dernier message: 09/07/2009, 10h25
  3. [DOM] création d'un formulaire via javascript et envoi des données
    Par Adrilo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/03/2009, 12h14
  4. Lancer un formulaire via javascript : ne fonctionne pas
    Par beegees dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/02/2009, 07h45
  5. Javascript submit formulaire
    Par ChronoTiger dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 04/06/2007, 19h45

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