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 :

Contrôle de formulaire


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    zzozo32456
    Invité(e)
    Par défaut Contrôle de formulaire
    bonjour a tous, a votre avis qu'est ce qui ne vas pas dans ce code?
    j'ai deux fonctions pour 2 formulaire différents, la première doit vérifier que mes champs sont bien des numéros, la seconde qu'au moins une case est coché dans une liste de checkbox. aucune ne marche c'est très bizarre.les fonctions js sont dans le header et l'appel dans l'evenement onsubmit du formulaire. j'ai aussi essayer d'en mettre une sur un onclick dans la balise du bouton submit mais sans succes. Meme des simple alert en test ne marche pas.
    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
     
    		<script type="text/javascript">
    			function controleFormulaire(form)
    			{
    			alert('test');
    				for (i=0; i<form.ecoles.length; i++){
    					if (form.ecoles[i].checked == true)
    						return true;
    				}				
    				alert("Cochez au minimum une école!!!.");
    					return false;
    			}
    			function controleIsNum(form){//fonction qui vérifie que l'internaute a bien rentrer des chiffres dans les intervalles de numéros a associer			
    				if ((form.num_fin.value.length!=0)&&( isNaN(form.num_fin.value))
    				{
    					alert("Merci de renseigner un numero de rue valide");
    					return false; // et le formulaire n'est pas envoyé		
    				}
    				else if(isNaN(form.num_depart.value)){
    					alert("Merci de renseigner un numero de rue valide");
    					return false; // et le formulaire n'est pas envoyé
    				}				
    				else {
    					alert('blabla');
    					return true;
    				} // et le formulaire est envoyé
    			}
    		</script>
    form1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    echo '<form name="form_voies_selectionnees" method="post" action="sectorisation.php#ancre3" onSubmit="return controleIsNum(this.form);">
    									<fieldset>
    										<legend class="legend">S&eacute;l&eacute;ctionnez un intervalle de num&eacute;ros :</legend>
    										<p><span class="mandatory">*</span>De :&nbsp;<input type="text" name="num_depart" id="" value=""/>
    										&nbsp;a :&nbsp;<input type="text" name="num_fin" id="" value=""/>';
    	</fieldset>	 
    								<p align="center"><input type="submit" class="button" name="suivant1" value="Suivant"/></p>
    form2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    echo '<form name="form_creation_relations" method="post" action="sectorisation.php" >
    										<fieldset><legend class="legend">Liste des &eacute;coles:</legend>';
    								//on fait une boucle pour afficher les ecoles sous forme de case à cocher
    								while ($data = mysql_fetch_array($req2))echo"<input type='checkbox' name='ecoles[]' value='".$data['id_ecole']."'><label for= '".$data['id_ecole']."'>Ecole ".$data['type_ecole']." ". $data['nom']." ".utf8_encode($data['adresse'])."<br/>";
    								echo '<input type="hidden" name="radio" value="'.$_POST['radio'].'"/>
    									<input type="hidden" name="number_suffix" value="'.$_POST['number_suffix'].'"/>								
    									</fieldset>
    									<p align="center"><input type="submit" class="button" name="valider" value="Cr&eacute;er une relation" onclick="controleFormulaire(this.form);"/></p>	
    								</form>';

  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 : 55
    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
    Déjà, merci de poster le code HTML généré, pas le PHP !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onSubmit="return controleIsNum(this.form);"
    this.form correspond, pour un élément de formulaire, au formulaire qui le contient.
    Or une balise form n'est pas un élément de formulaire ! De surcroit, aucun formulaire ne la contient.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onSubmit="return controleIsNum(this);"
    est largement suffisant.
    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
    zzozo32456
    Invité(e)
    Par défaut
    hey, merci pour le conseil j'ai enlever le this.form ca marche effectivement un peu mieux. parcontre doit y'avoir un truc qui va pas dans le code de mes fonctions parceque j'ai pas le résultat attendu qu'est ce qui pourrait merder?

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Déjà, merci de poster le code HTML généré, pas le PHP !
    j'ai pas le résultat attendu
    Qu'est ce qui se passe?

  5. #5
    zzozo32456
    Invité(e)
    Par défaut
    en fait pour la premiere fonction qui est censé verifier que mes deux champs soit bien des numeros, peu importe que les champs soit remplis ou non, c'est l'alert test qu'il ya dans le else qui s'affiche.
    et pour l'autre fonction qui doit verifier qu'au moin une case est coche dans mon tableau ecoles[] la il ne se passe rien du tout.

  6. #6
    zzozo32456
    Invité(e)
    Par défaut
    ou plutot si mon alerttest s'affiche bien parcontre meme si aucune case n'est cochée le formulaire passe...

  7. #7
    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 : 55
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (i=0; i<form.ecoles.length; i++)
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='checkbox' name='ecoles[]' value='".$data['id_ecole']."'><label for= '".$data['id_ecole']."'>

    Tu n'as pas de champ 'ecoles'

    Ah au fait, form comme nom de paramètre, c'est pas terrible : c'est déjà un mot clé de JavaScript...
    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

  8. #8
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    +1Bovino
    onclick="controleFormulaire(this.form);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     onsubmit=" return controleFormulaire(this.form);

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

Discussions similaires

  1. [PHP-JS] Classe de contrôle de formulaire
    Par MV1908 dans le forum Langage
    Réponses: 4
    Dernier message: 10/10/2006, 00h01
  2. Réponses: 1
    Dernier message: 21/07/2006, 05h56
  3. Les contrôles de formulaire, quel test optimal ?
    Par GTJuanpablo dans le forum Langage
    Réponses: 8
    Dernier message: 26/04/2006, 10h00
  4. accéder à un contrôle de formulaire avec un nom de tableau
    Par jibouze dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/06/2005, 23h57
  5. [JSP] [STRUTS] Contrôle de formulaire
    Par babylone7 dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 13/07/2004, 17h51

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