Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/01/2012, 17h00   #1
Nouveau Membre du Club
 
Inscription : novembre 2008
Messages : 78
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 78
Points : 33
Points : 33
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 !
JerryOne3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 17h24   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 201
Points : 45 201
Citation:
sur lequel je n'ai pas la main.
clairement je dis que ça sent le fishing ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 17h30   #3
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 872
Points : 1 381
Points : 1 381
si tu captes l'event,tu peux tenter :

Code :
1
2
3
event.stopPropagation(); 
event.cancelBubble = true;
return false;
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 17h31   #4
Nouveau Membre du Club
 
Inscription : novembre 2008
Messages : 78
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 78
Points : 33
Points : 33
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
JerryOne3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 17h34   #5
Nouveau Membre du Club
 
Inscription : novembre 2008
Messages : 78
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 78
Points : 33
Points : 33
Citation:
Envoyé par Willpower Voir le message
si tu captes l'event,tu peux tenter :

Code :
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
JerryOne3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 18h06   #6
Nouveau Membre du Club
 
Inscription : novembre 2008
Messages : 78
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 78
Points : 33
Points : 33
Solution trouvée ! Voilà :

Code :
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 !
JerryOne3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 18h41   #7
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 201
Points : 45 201
Citation:
Tu veux des détails
Ben fallait commencer par ça ...

Désolé si ma supposition t'a froissé ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 18h48   #8
Nouveau Membre du Club
 
Inscription : novembre 2008
Messages : 78
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 78
Points : 33
Points : 33
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
JerryOne3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h44.


 
 
 
 
Partenaires

Hébergement Web