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 :

creer une fonction unique pour checkbox


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 37
    Par d�faut creer une fonction unique pour checkbox
    Bonsoir j'ai �crit une fonction pour rendre visible ou pas mes select et j'aimerais savoir si c'est possible de faire une fonction unique
    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
    function coche(){
    //alert(document.getElementById("case").checked);
    	if (document.getElementById("case").checked==false)
    		{
    		document.getElementById("Numin").style.display='none'; 
    		} 
      else	{
      		document.getElementById("Numin").style.display='block';
      		}}
      function casecochee(){
    	//alert(document.getElementById("case1").checked);
    		if (document.getElementById("case1").checked==false)
    			{
    			document.getElementById("AdrIp").style.display='none'; 
    			} 
    	  else	{
    	  		document.getElementById("AdrIp").style.display='block';
    	  		}}
    De plus, je voudrais que lors de l'envoie des donn�es mes select soient visibles voici mon code mais qui ne fonctionne pas depuis que j'ai creer mes fonction coche
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php 
    if (!empty($_GET["NumIp"])){
    $NumIp=$_GET["NumIp"];}	  
     
    if ($NumIp="true"){
             $selected1="checked";
                   }
     $selected1="";
     
    	     echo "<input type='checkbox' id='case1' name='NumIp' value=\"".$NumIp."\"".$selected1." onChange=\"casecochee();\">";	 
     ?>

  2. #2
    Membre chevronn�
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    313
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 313
    Par d�faut
    Par exemple, tu peux appeler ta fonction comme �a :
    onchange="mafonction(this)"

    En param�tre, on passe this qui sera l'objet d�clencheur.

    Du coup, dans ta fonction, tu peux savoir quel id est d�clencheur avec :
    function mafonction(obj) {
    var id = obj.id;
    ...


    Maintenant que tu as l'id, tu peux te baser sur une structure de donn�e via, par exemple un Array, avec l'id comme cl�.
    exemple : var conf = {'case':['numin'], etc...}

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 37
    Par d�faut
    Merci je vais essayer !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 37
    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
    14
    function mafonction(obj){
     
    var id = obj.id;
     
    var conf = {'case':['numin'],'case1':['AdrIp'];}
    	for (var i in conf){
    	if (document.getElementById(id).checked==false)
    		{
    		document.getElementById("conf[i]").style.display='none'; 
    		} 
      else	{
      		document.getElementById("conf[i]").style.display='block';
      		}}
    }
    Bon voil� j'ai fais �a mais bon y'a un truc que j'ai pas du saisir, je pense que c'est dans les parenth�ses du getElement... Merci

    Et j'appel ma fonction comme �a :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    onchange=mafonction(this)

  5. #5
    Membre chevronn�
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    313
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 313
    Par d�faut
    T'es pas loin
    Citation Envoy� par under Voir le message
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    ...
    var conf = {'case':['numin'],'case1':['AdrIp'];} // point-virgule incongru
    ...		
               document.getElementById("conf[i]").style.display='none'; // Mauvaise fa�on d'acc�der � ton id(*) 
    ...
    (*) De la mani�re dont tu l'as �crit, c'est une chaine de caract�re. Ce n'est pas ce que tu souhaites pour ce cas.

    Le tableau (en fait un Object et non pas un Array) est compos� d'une propri�t� � laquelle est affect�e un Array (qui n'a qu'un index).
    On y acc�de donc par conf[id] dans ton cas (n.b. : J'ai un doute quant � l'utilit� des l'apostrophes pour tes cl�s). De cette mani�re on r�cup�re donc un Array. Puis on veut trouver la valeur de l'index 0. Donc on fait :
    conf[id][0]. Et voil� !

    Pourquoi ton 'for(var i in conf) ...' ? Pas utile puisque tu cherches � bosser pour un id en param�tre, non ?

    Perso, j'aurais poser un truc comme �a :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    ...
    document.getElementById(conf[id][0]).style.display = (document.getElementById(id).checked) ? 'block' : 'none';
    ...
    'mafonction' et 'conf' �taient des noms pour l'exemple. Tu es libre de les appeler comme bon te semble, tant que tu n'utilises pas de mots r�serv�s

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 37
    Par d�faut
    Merci beaucoup cela fonctionne
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function mafonction(obj){
     
    var id = obj.id;
     
    var conf = {case:['Numin'],case1:['champsIP']}
     
    	if (document.getElementById(id).checked==false)
    		{
    		document.getElementById(conf[id]).style.display='none'; 
    		} 
      else	{
      		document.getElementById(conf[id]).style.display='block';
      		}
    }
    Par contre comment dois-je appeler ma fonction au chargement de la page. Histoire de faire en sorte que mes champs soient cach�s. Merci

Discussions similaires

  1. [XL-2013] comment creer une fonction en VBA pour faire concatenate et right voir exemple
    Par Abourarda dans le forum Macros et VBA Excel
    R�ponses: 2
    Dernier message: 06/04/2014, 21h56
  2. Creer une fonction pour un calcul
    Par micrak11 dans le forum C++
    R�ponses: 7
    Dernier message: 18/01/2008, 08h54
  3. creer une fonction avec arguments
    Par niglo dans le forum ASP
    R�ponses: 3
    Dernier message: 03/06/2005, 08h04
  4. Creer une nouvelle r�f�rence pour le driver ODBC
    Par tripper.dim dans le forum Connexion aux bases de donn�es
    R�ponses: 3
    Dernier message: 04/01/2005, 22h57
  5. [langage] Creer une fonction qui met en majuscule ?
    Par Cyber@l dans le forum Langage
    R�ponses: 6
    Dernier message: 04/12/2003, 18h44

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