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 la validation d'un formulaire si champs à vide


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut Empêcher la validation d'un formulaire si champs à vide
    Bonjour !

    je fais actuellement du J2EE et j'envois mes formulaires en les passant dans "une moulinette" appartenant à un plugin appelé "Validator" qui fonctionne côté client (JS) et/ou côté serveur (J2EE) ... très connu par les J2EEistes !

    Tous mes contrôles fonctionnent parfaitement, sauf un seul type de contrôle que je ne peux mettre en oeuvre : j'ai 4 champs et soit les 2 premiers sont obligatoires, soit ce sont les 2 derniers ! Donc un coup un champ est obligatoire et dans l'autre cas il doit rester à vide ...

    Oui oui ça correspond à 2 formulaires en 1 !


    Bref bref, je voudrais savoir comment empêcher l'envoi de mon formulaire sachant que l'envoi se fait en JS ... démonstration :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:form action="/FormCompareX" onsubmit="return validateFormCompareX(this);">
    J'ai bien essayé comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    		<script type="text/javascript">
    			function ctrlChamps() {
    				var champ1 = document.formCompareX.xFab1.value;
    				var champ2 = document.formCompareX.xFab2.value;
    				var champ3 = document.formCompareX.xSav1.value;
    				var champ4 = document.formCompareX.xSav2.value;
     
    				if ((champ1 == "") && (champ2 == "") && (champ3 == "") && (champ4 == "")) {
    					alert("Merci de compléter correctement le formulaire.");
    					return false;
    				}
    				else {
    					return validateFormCompareX(this);
    				}
    			}
    		</script>
     
    [...]
     
    <html:form action="/FormCompareFdm" onsubmit="ctrlChamps();">

    Ca ne fonctionne pas : il m'affiche la popup, ... poste les données de mon formulaire et tombe en échec !

    Personne n'a une idée ?

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Ex stagiaire ... rest ele encore un peu tu n'es pas prêt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="return validateFormCompareX(this);">
    faudrait peut être l'appeler la fonction de verif non ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="return ctrlChamps();">
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    else {
    					return true;
    				}
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut
    Mouais ... et avec ton code ... quand est-ce que j'appelle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    validateFormCompareX(this)
    ?

    Edit : à lire trop vite on comprend pas tout ... je l'appelle ma fonction "ctrlChamps()" à la fin de mon 2nd script !

  4. #4
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    elle est ou ta fonction
    ????
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  5. #5
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut
    Aaaah celle là ...

    Elle est générée automatiquement dans ma page JSP finale !

    Au final, j'ai modifié mes scripts et ça fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    		<script type="text/javascript">
    			function ctrlChamps() {
    				var champ1 = document.formCompareX.xFab1.value;
    				var champ2 = document.formCompareX.xFab2.value;
    				var champ3 = document.formCompareX.xSav1.value;
    				var champ4 = document.formCompareX.xSav2.value;
     
    				if ((champ1 == "") && (champ2 == "") && (champ3 == "") && (champ4 == "")) {
    					alert("Merci de compléter correctement le formulaire.");
    					return false;
    				}
    				else {
    					return true;
    				}
    			}
     
    [...]
     
    <html:form action="/FormCompareX" onsubmit="return ctrlChamps(); return validateFormCompareX(this);">

    Gôm

  6. #6
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    oui même si dans une utilisation correcte de soumission de form avec on submit il faudrait faire ...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:form action="javascript:validateFormCompareX(this)" onsubmit="ctrlChamps();">
    mais du coup je sais pas à quoi sert ton
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. [UI] jquery-validate : Envoi du formulaire et champ required vide
    Par antrax2013 dans le forum jQuery
    Réponses: 4
    Dernier message: 19/03/2014, 10h51
  2. Réponses: 3
    Dernier message: 16/04/2010, 10h44
  3. [MySQL] Formulaire de champ vide avec mysql_real_escape_string()
    Par Seta-san dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 04/02/2008, 17h27
  4. ouverture formulaire avec champ vide
    Par atlantideD dans le forum IHM
    Réponses: 3
    Dernier message: 16/05/2007, 12h36
  5. [ODBC] Valider formulaire avec champs vides
    Par dorot dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 12/07/2006, 17h15

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