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 sur plusieurs champs Input


Sujet :

JavaScript

  1. #1
    Membre �clair�
    Homme Profil pro
    Conseil - Consultant en syst�mes d'information
    Inscrit en
    Octobre 2005
    Messages
    315
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Conseil - Consultant en syst�mes d'information
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 315
    Par d�faut contr�le sur plusieurs champs Input
    Bonjour,
    j'essaie de faire un contr�le sur plusieurs champs Input, qui ne fonctionne pas tr�s bien !
    j'essaie en effet de v�rifier � chaque fois que l'on quitte le composant, qu'il n'est pas vide et que sa taille de d�passe pas un certain nombre de caract�re:

    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
     
    function checklength(){
    	var f= document.forms[0];
     
    	var nom=f.elements['nom'].value;
    	var adresse=f.elements['adresse1'].value;
    	var adresse2=f.elements['adresse2'].value;
     
    if( nom.length >35)
    		{
    			alert("35 caractères maximum pour le champ: <%=res.getKeyValue("nom")%>");
    			f.elements['nom'].focus();
    			return;
    		}
    	if( adresse.length >28)
    		{
    			alert("28 caractères maximum le champ: <%=res.getKeyValue("adresse1")%> ");
    			f.elements['adresse1'].focus();
    			return;
    		}
    	if( adresse1.length >28)
    		{
    			alert("28 caractères maximum pour le champ: <%=res.getKeyValue("adresse2")%>");
    			f.elements['adresse2'].focus = true;
    			return;
    		}
     
    }
    et quand je met la fonction sur un �v�nement onblur, il ne fonctionne pas dans tous les cas !

    Est-ce une bonne fa�on de proc�der !
    dois je le faire composant par composant ?

  2. #2
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Bonjour,
    il faudrait voir l'appel de ta fonction, ainsi que les �l�ments HTML concern�s.
    Quelques remarques quand m�me :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var f= document.forms[0];
    il vaudrait mieux
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var f= document.forms['name_du_form'];
    surtout si il risque d'y en avoir plusieurs dans la page.
    Logiquement ta fonction devrait faire un "return false;" en cas d'erreur et un "return true;" si tout est OK.
    Mais encore une fois, tout d�pend de comment tu l'appelles ...

    Pourquoi utiliser cette syntaxe (fausse)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    f.elements['adresse2'].focus = true;
    alors que la syntaxe est bonne pour les autres champs ?

    Pour un contr�le de champ, onchange est plus appropri� que onblur (pourquoi refaire le contr�le s'il n'y a pas eu de modificcation ?). Mais comme tu contr�le tous les champs en m�me temps, il serait plus logique d'appeler cette fonction sur le onsubmit du tag <form>. Dans ce cas, les "return true/false" sont obligatoires (pour bloquer l'envoi du form en cas d'erreur d�tect�e).
    A noter : ce type de contr�le doit �tre refait sur le serveur pour �viter les surprises (JS peut avoir �t� d�sactiv�).

    Et enfin
    Citation Envoy� par paolo2002
    et quand je met la fonction sur un �v�nement onblur, il ne fonctionne pas dans tous les cas !
    Je suis s�r qu'il y a moyen d'�tre plus pr�cis

    A+

  3. #3
    Membre �clair�
    Homme Profil pro
    Conseil - Consultant en syst�mes d'information
    Inscrit en
    Octobre 2005
    Messages
    315
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Conseil - Consultant en syst�mes d'information
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 315
    Par d�faut contr�le sur plusieurs champs
    pour
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    f.elements['adresse2'].focus = true;
    c'est bien une erreur de ma part.

    Pour faire le test lorsque je soumet � la form, il ne me parait pas judicieux car il soumettrait tous les tests !

    mais bon, je refais quelques tests pour voir le fonctionnement !
    meci

  4. #4
    Membre �clair�
    Homme Profil pro
    Conseil - Consultant en syst�mes d'information
    Inscrit en
    Octobre 2005
    Messages
    315
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Conseil - Consultant en syst�mes d'information
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 315
    Par d�faut contr�le sur plusieurs champs
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    Envoyé par paolo2002
    et quand je met la fonction sur un évènement onblur, il ne fonctionne pas dans tous les cas !
    pour �tre plus pr�cis, lorsque je fais directement sur le dernier champ, le contr�le n'est pas pris en compte.
    il le fait apparemment successivement !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. contr�le des doublons sur plusieurs champs
    Par christy1 dans le forum Mod�lisation
    R�ponses: 3
    Dernier message: 09/12/2011, 14h13
  2. Accepeter plusieurs mail sur un champs input
    Par PrinceMaster77 dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 16/03/2009, 16h51
  3. Contr�le de plusieurs champ sur un ajout de ligne
    Par nawak.seb dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 25/11/2008, 11h31
  4. [CR] Groupement dynamique sur plusieurs champs param�tr�s
    Par CDRIK dans le forum SAP Crystal Reports
    R�ponses: 8
    Dernier message: 07/06/2004, 17h55
  5. recuperer les id sur plusieurs champs
    Par matN59 dans le forum Langage SQL
    R�ponses: 4
    Dernier message: 15/03/2004, 10h23

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