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 :

fonction de validation de form


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Par défaut fonction de validation de form
    Bonjour, je suis en train de créer une fonction en javascript qui vérifie simplement si certains sont champs sont vides et dans ce cas affiche un message mais si elle n'affiche pas, alors ça valide mais le problème est que ça valide mais avant d'utiliser cette fonction javascript, j'utilisais des récupérations en php.

    Avant, j'allais sur une autre page et je récupérai les valeurs de mes variables et si une d'entre elle était vide, alors j'affichais un message pour le signaler.

    Pour vérifier ma fonction javascript, je teste en ne mettant rien, j'ai bien le message qui s'affiche puis je teste
    en remplissant mes champs, je valide mais j'ai quand même un message php qui me signale que mes champs sont vides donc je voudrais savoir comment ça se fait?

    Voici mon code:
    fonction javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function verif_champs() {
    if(  (document.deposer.titre.value == '') || (document.deposer.contenu.value == '') || (document.deposer.photo.value == '') || (document.deposer.prix.value == '') ) 
    {
    	alert("Veuillez remplir tout les champs.");
    	return false;
    }else
    	return true;
    }
    code 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
    28
    29
    30
    31
    32
    33
    34
    35
     
    <FORM method="post" action="traitementAnnonce.php?traitement=1" enctype="text/plain" name="deposer" onSubmit="return verif_champs();">
     
    <fieldset class="tableauDeposeAnnonce">
    <legend>D&eacute;poser une annonce</legend>
    <table>
    	<tr>
    		<th class="celulleDeposeAnnonce">Titre : </th>
    		<td><input type=text name="titre"></td>
    	</tr>
    	<tr>
    		<th class="celulleDeposeAnnonce">Contenu : </th>
    		<td><TEXTAREA rows="3" cols="40" name="contenu"></TEXTAREA></td>
    	</tr>	
    	<tr>
    		<th class="celulleDeposeAnnonce">Photo : </th>
    		<td><input type=file name="photo"></td>
    	</tr>	
    	<tr>	
    		<th class="celulleDeposeAnnonce">Prix : </th>
    		<td><input type=text name="prix"></td>
    	</tr>
    	<tr>	
    		<th class="celulleDeposeAnnonce">Cat&eacute;gorie : </th>
    		<td><SELECT name="categorie">
    			<?php
                            $categorie = retourneCategorie2();
                            echo $categorie;
                            ?>
    			</SELECT></td>
    	</tr>
    </table>
    <input type=submit name="D&eacute;poser">
    </fieldset>
    </FORM>
    Récupération:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $titre = $_POST['titre'];
    $contenu = $_POST['contenu'];
    $photo = $_POST['photo'];
    $prix = $_POST['prix'];
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  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
    deux remarques:
    pourquoi faire une série de || ?
    il serait plus lisible de passer par des if ... ou un switch

    utilise une syntaxe plus rigoureuse pour mettre la main sur les elements du form

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.froms('nomduform'].elements['nomelement'].value
    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
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Par défaut
    J'ai fais une série de || pour dire que si une seule des conditions est vrai, il affiche le message d'erreur.

    Si je remplace ma syntaxe par la tienne à savoir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.froms['deposer'].elements['titre'].value == ''
    Et que je ne mets rien, je n'ai pas mon message d'erreur qui apparaît, comment ça se fait?
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function verif_champs() {
    var compt=0
    if (document.forms['deposer'].elements['titre'].value == ''){compt++;}
    if (document.forms['deposer'].elements['contenu'].value == ''){compt++;}
    if (document.forms['deposer'].elements['photo'].value == ''){compt++;}
    if (document.forms['deposer'].elements['prix'].value == ''){compt++;}
    if(compt>0)
    {
    	alert("Veuillez remplir tout les champs.");
    	return false;
    }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 !

  5. #5
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Par défaut
    Ca ne fonctionne pas, pourtant je pense avoir tout bien respecté..

    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
    28
    29
    30
     
    function verif_champs() 
    {
    	var compt = 0;
    	if ( document.froms['deposer'].elements['titre'].value == '' )
    	{
    		compt ++;
    	} 
    	if ( document.froms['deposer'].elements['contenu'].value == '' )
    	{
    		compt ++;
    	} 
    	if ( document.froms['deposer'].elements['photo'].value == '' )
    	{
    		compt ++;
    	} 
    	if ( document.froms['deposer'].elements['prix'].value == '' )
    	{
    		compt ++;
    	} 
     
    	if ( compt>0 )
    	{
    		alert("Veuillez remplir tout les champs.");
    		return false;
    	}else
    	{
    		return true;
    	}
    }
    Qu'est-ce qui ne va pas?
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  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
    ta balise table fait ecran ..
    soit tu vires la balise form [edit] balise table voulais-je dire... [/edit]qui soit dit en passant ne doit pas servir à faire de la mise en page ...
    soit tu mets des id sur les input et tu les appelles par leur id
    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 !

Discussions similaires

  1. Valider 2 fonctions JS avant submit (form)
    Par voyageurdumonde dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 26/09/2010, 16h08
  2. [Struts] Message d'erreur Validate Action Form
    Par cosmos38240 dans le forum Struts 1
    Réponses: 7
    Dernier message: 26/10/2005, 11h05
  3. valider un form
    Par Gemelos dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 19/10/2005, 16h54
  4. Som dans form continu en fonction date selectionée dans form
    Par samlepiratepaddy dans le forum Access
    Réponses: 3
    Dernier message: 26/09/2005, 13h05
  5. Valider un form et lancer le résultat ds la fenêtre parent
    Par [DreaMs] dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 23/08/2005, 17h01

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