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 :

controle saisie input text


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 78
    Par défaut controle saisie input text
    Bonjour,

    Je n'arrive pas à faire marcher mon contrôle de saisie sur un input text.

    Mon formulaire affiche la liste des commandes à valider à partir d'une requête en base, donc autant d'input type"text" que de commandes à valider
    j'ai extrait de mon script juste ce qui me pose problème pour ne pas alourdir le post :

    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
     
    <script language="JavaScript" type="text/javascript">
     
    function Verif_order_valide(){
    var valide=false;
    for(i=0;i<document.forms[0].confirm_order.length;i++)
    {
    if (document.forms[0].confirm_order.value==""){
    valide = false;
    alert ("missing order number");
    }
    }
    if (valide == true){
    return valide;
    }
     
    </script>
     
     
    <form method="POST" action="traitement_manager_order.php" onSubmit="return Verif_order_valide()">
    <?php
    while( $data=mysql_fetch_array($req) ){
    echo '<input type="text" name="confirm_order['.$data['order_id'].']" size="10">';
    }
    ?>
    <input type="image" value="valide" src="images/buttons/button_enregistrer.gif" width="100" height="22">
    </form>

  2. #2
    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
    Salut,
    Tu as oublié de fermé une accolade, et l'indice du tableau confirm_order
    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
    <script language="JavaScript" type="text/javascript">
    function Verif_order_valide(){
    var valide=false;
    for(i=0;i<document.forms[0].confirm_order.length;i++)
    {
    if (document.forms[0].confirm_order[i].value==""){
    valide = false;
    alert ("missing order number");
    }
    }
    if (valide == true){
    return valide;
    }
    }
    </script>

  3. #3
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    ne marchera pas , car il fait référence a un tableau d'éléments html , or dans ton code tu génères un numéro pour chacun des input :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    name="confirm_order['.$data['order_id'].']

  4. #4
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 78
    Par défaut
    Merci pour la réponse. Ca faisait effectivement 2 bonnes raisons pour que ça marche pas. Mais même avec ces corrections ça fonctionne pas.

    Citation Envoyé par andry.aime Voir le message
    Salut,
    Tu as oublié de fermé une accolade, et l'indice du tableau confirm_order
    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
    <script language="JavaScript" type="text/javascript">
    function Verif_order_valide(){
    var valide=false;
    for(i=0;i<document.forms[0].confirm_order.length;i++)
    {
    if (document.forms[0].confirm_order[i].value==""){
    valide = false;
    alert ("missing order number");
    }
    }
    if (valide == true){
    return valide;
    }
    }
    </script>

  5. #5
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 78
    Par défaut
    J'ai un peu modifié mon script, mais il ne fonctionne pas exactement comme je voudrais.
    Si je ne rempli pas de champ j'ai bien une alerte, par contre il faut que je remplisse tous les champs pour envoyer le formulaire. Je voudrais que le formulaire soit validési au moins un champ est rempli.

    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 language="JavaScript" type="text/javascript">
    function Verif_order_valide(){
    var valide=false;
    	for(i=0;i<document.forms[0].confirm_order.length;i++)
    	{
    		if (document.forms[0].confirm_order[i].value==""){
    		valide = false;
    		}
    		else {valide = true;}
    	}
    	if (valide == true){
    	return valide;
    	}
    	else {alert ("Indiquez un N° de commande");
    			return valide;
    	}
    }
    </script>

  6. #6
    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
    Tu dois sortir de la fonction dès qu'un champ est rempli
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function Verif_order_valide(){
    for(i=0;i<document.forms[0].confirm_order.length;i++)
    {
    if (document.forms[0].confirm_order[i].value!="")
    	{
    		return true;
    	}
    }
    return false;
    }

  7. #7
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 78
    Par défaut
    Après quelques jours sur d'autres urgences (et quelques congés à solder aussi ...), je replonge dans mes contrôles de saisies et là problème ça marche plus !
    J'ai juste rajouté un message avant le return false.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function Verif_order_valide(){
    	for(i=0;i<document.forms[0].confirm_order.length;i++)
    	{
    	if (document.forms[0].confirm_order[i].value!="")
    		{
    			return true;
    		}
    	}
    	alert ("Indiquez un N° de commande");
    	return false;
    }
    Et si je reviens à la version précédente rien non plus ???

    Je perds pied !

  8. #8
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 78
    Par défaut
    Citation Envoyé par le_chomeur Voir le message
    ne marchera pas , car il fait référence a un tableau d'éléments html , or dans ton code tu génères un numéro pour chacun des input :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    name="confirm_order['.$data['order_id'].']
    Bonjour,
    Effectivement si je me remet dans cette configuration le contrôle de saisie ne marche pas.
    Par contre je trouve pas quoi mettre dans le "confirm_order.length" pour que le contrôle de saisie se fasse.

Discussions similaires

  1. Interdire la saisie de chiffres dans mon input text
    Par karibouxe dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 03/11/2011, 10h50
  2. le controle de input text
    Par mans27 dans le forum JDeveloper
    Réponses: 2
    Dernier message: 20/06/2007, 11h59
  3. controle saisie zone de text
    Par Emcy dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 01/03/2007, 14h50
  4. empecher saisie de caractères dans champ de type input text
    Par mussara dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/06/2006, 14h09

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