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 :

Vérifier formulaire avec son envoi


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 74
    Par défaut Vérifier formulaire avec son envoi
    Bonjour,
    Je souhaite mettre en place la validation d'un formulaire avant de l'envoyer.
    Dans mon fichier form.php, j'ai ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form method="post" action="confirmation_upload.php" enctype="multipart/form-data" onsubmit="return verif_upload()" >
    	<input class="bouton_valide" type="image" src="../images/bouton_valider_upload_07.png" />
    	<input type="text" name="duree_media_minute" id="test" />
    </form>
    Dans mon script, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function verif_upload(){
    	var duree= document.upload.test.value;
    	duree1=parseInt(duree);
    	if (duree1 < 60){
    		return true;
    	}else{
    		return false;
    		alert("Pas le bon format");
    	}
    }
    Mon problème est que quand je met une valeur supérieur à 60 mon alert ne se fait pas donc l'utilisateur n'est pas informé que le format n'est pas bon.
    Est ce que quelqu'un aurait une solution?
    Merci d'avance

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut

    Il faut mettre le return après le alert...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    else{
    	alert("Pas le bon format");
    	return false;
    }
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 74
    Par défaut
    Ah oui en effet ça va mieux comme ca
    Merci Bovino

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 74
    Par défaut
    Je viens d'améliorer le script de vérification de mon formulaire comme suit :
    Script :
    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
    21
    22
    23
    24
    25
    26
    27
     
    function verif_upload(){
    	var minute= document.upload.minute.value;
    	var seconde= document.upload.seconde.value;
    	var prix= document.upload.prix.value;
    	var titre= document.upload.titre_media.value;
    	var erreur;
     
    	minute1=parseInt(minute);
    	seconde1=parseInt(seconde);
    	prix1=parseInt(prixt);
    	if (prix1 < 0){
    		erreur=erreur+"Le prix n'est pas valide\n";
    	}
    	if (minute1 > 60 || seconde1 > 60){
    		erreur=erreur+"La dur\351e du m\351dia n'est pas valide\n";
    	}
    	if (titre == ''){
    		erreur=erreur+"Veuillez indiquer un titre\n";
    	}
    	if (erreur == ''){
    		return true;
    	}else{
    		alert(erreur);
    		return false;
    	}
    }
    Et voici mon formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form method="post" action="confirmation_upload.php" enctype="multipart/form-data" onsubmit="return verif_upload()" >
    	<input class="bouton_valide" type="image" src="../images/bouton_valider_upload_07.png" />
    	<input type="text" name="duree_media_minute" id="test" />
    	<input type="text" name="titre_media" id="titre_media" />
    	<input type="text" name="prix_media" id="prix"  />
    </form>
    Le problème est que quand je ne rempli pas les zones de texte de mon formulaire il est quand même transmit. Est ce que quelqu'un voit ou ça ne va pas?
    Merci d'avance

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut

    Les noms de formulaires / champs ne correspondent pas avec le HTML, ça peut pas marcher !
    Ensuite, quand tu utilises la syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.upload.minute.value;
    upload, minute etc. correspond à la valeur de l'attribut name, pas id
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre éclairé Avatar de cashmoney
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 298
    Par défaut
    Bonjour, pour vérifier tes champs texts vue que c'est ce que tu utilises dans ton formulaires, il y a un script simple dans la faq que je te met afin que tu puisses l'adapter à ton formulaire HTML

    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
    21
    22
    23
    24
    25
    26
    27
     
     
    function verif()
     
    {
    // indique les entrées de chaques éléments
    var inputList = document.forms["nomFormulaire"].elements;
     
    // la boite de dialogue 
    var alertTxt = ""; 
     
    for (unInput in inputList){
     
        if(unInput.type=="text" && unInput.value.length==0)
    {
     
    alertTxt += "Le champ " + unInput.name + " n'a pas été rempli \n";
     
    }
     
    }
     
    alert(alertTxt)
     
     
     
    }
    Voilà, j'espères que tu pourras l'adapter à ton formulaire.

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 74
    Par défaut
    A oui excuse moi je n'ai pas mis la bonne version de mon script. Je te redonne tout comme je l'ai actuellement.
    Script :
    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
    21
    22
    23
    24
    25
    26
    function verif_upload(){
    	var minute= document.upload.minute.value;
    	var seconde= document.upload.seconde.value;
    	var prix= document.upload.prix.value;
    	var titre= document.upload.titre_media.value;
    	var erreur='';
     
    	minute1=parseInt(minute);
    	seconde1=parseInt(seconde);
    	prix1=parseInt(prixt);
    	if (prix1 < 0){
    		erreur=erreur+"Le prix n'est pas valide\n";
    	}
    	if (minute1 > 60 || seconde1 > 60){
    		erreur=erreur+"La dur\351e du m\351dia n'est pas valide\n";
    	}
    	if (titre == ''){
    		erreur=erreur+"Veuillez indiquer un titre\n";
    	}
    	if (erreur == ''){
    		return true;
    	}else{
    		alert(erreur);
    		return false;
    	}
    }

    et mon formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form method="post" action="confirmation_upload.php" enctype="multipart/form-data" name="upload" onsubmit="return verif_upload()" >
    	<input type="text" name="duree_media_seconde" id="seconde" />
    	<input type="text" name="duree_media_minute" id="minute" />
    	<input type="text" name="titre_media" id="titre_media" />
    	<input type="text" name="prix_media" id="prix"  />
    	<input class="bouton_valide" type="image" src="../images/bouton_valider_upload_07.png" />
    </form>
    Le problème est que si je ne rempli pas les zones de texte mon formulaire est quand même transmit alors qu'il ne devrait pas.
    Merci

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Bovino Voir le message
    upload, minute etc. correspond à la valeur de l'attribut name, pas id
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  9. #9
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 74
    Par défaut
    Je pense que tu as mal regardé le dernier message que j'ai laissé. Tout a été remodifié en autre le nom des id de mes zone de texte et le nom de mon formulaire.

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Non, je crois que c'est toi qui a mal lu ma réponse !
    Dans la notation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var minute= document.upload.minute.value;
    upload et minute correspondent aux valeurs des attributs name, or tu n'as aucun champ dans ton formulaire dont le name est minute !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var minute= document.upload.duree_media_minute.value;
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 74
    Par défaut
    A oui d'accord je n'avait pas tout compris. Je pensais qu'il fallait mettre le nom du champs id et non celui du champs name. Désolé.
    Merci pour ta persévérance Bovino.

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

Discussions similaires

  1. [AC-2003] Pb pour dupliquer un formulaire avec son sous formulaire
    Par claireeverwyn dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/03/2016, 17h53
  2. [AJAX] Vérifier formulaire avec de l'AJAX
    Par sihamnet dans le forum jQuery
    Réponses: 3
    Dernier message: 19/02/2014, 13h47
  3. Validation de formulaire avec entrée : envoi du premier bouton
    Par Difré91 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 13/06/2012, 10h25
  4. vérifier formulaire avec JS ou non ?
    Par slack457 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/06/2010, 18h16

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