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 :

Arguments de Function


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Retrait�
    Inscrit en
    F�vrier 2017
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 67
    Localisation : France, Gers (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : F�vrier 2017
    Messages : 3
    Par d�faut Arguments de Function
    Bonjour � tous,
    apr�s des jours de recherches, j'en appelle � vos comp�tences et je suppose que pour bon nombre d'entre vous le probl�me rencontr� est simple � r�soudre.

    J'ai 1 fonction javascript avec 2 arguments :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      function affichageLignes(id,NbrLignes) {
        var i;
         var id;
         for (i = 1; i <= NbrLignes; i++) {
            if (document.getElementById(id,"Ligne" + i).style.display == 'none') {
              document.getElementById(id,"Ligne" + i).style.display = 'block';
            } else {
              document.getElementById(id,"Ligne" + i).style.display = 'none';
            }
          }
        }
    Si j'enl�ve l'argument (id) l'ex�cution de cette fonction ne pose aucun souci.
    J'ai essay� toutes les syntaxes que j'ai pu trouver entre (id) et ("Ligne" + i) dans document.getElementById(id,i), mais je s�che compl�tement.

    Merci d'avance pour votre aide.

  2. #2
    Membre extr�mement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par d�faut
    Bon, alors tout d'abord la fonction getElementById n'utilise qu'un seul argument => https://developer.mozilla.org/fr/doc...getElementById

    donc il n'y a aucune raison d'utiliser un id qui ne viens de nulle part.

    Ensuite tu d�clares une nouvelle fois cet id, ce qui � pour effet d'annuler celui qui est plac� en argument de ta fonction : La d�claration d'une fonction vaut aussi pour les arguments de celle-ci.

    � la base une d�claration de fonction se fait ainsi : var affichageLignes = function ( id, NbrLignes ) { ...Bien sur, habituellement on rencontre la forme que tu utilise; mais cela ne change rien, cela reste une d�claration de 3 objets : affichageLignes, id et NbrLignes.

    Si par la suite tu d�clare une nouvelle variable avec le m�me nom que celle utilis�e dans un argument, alors tu perd l�acc�s � cette variable.

    � minima ta fonction devrait �tre �crite de la mani�re suivante (et optimis�) :

    Code JavaScript : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    function affichageLignes( NbrLignes ) {
      for (let i = 1; i <= NbrLignes; i++) {
        let ref_ID_ligne = document.getElementById( "Ligne" + i );
        ref_ID_ligne.style.display =  ( ref_ID_ligne.style.display == 'none' ) ? 'block' :  'none';
      }
    }

  3. #3
    Candidat au Club
    Homme Profil pro
    Retrait�
    Inscrit en
    F�vrier 2017
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 67
    Localisation : France, Gers (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : F�vrier 2017
    Messages : 3
    Par d�faut
    Merci pour ta r�ponse.

    J'ai modifi� ma syntaxe par le mod�le que tu m'as envoy�.

    Cette fonction est appel�e dans 1 onclick pour ouvrir 2 div :

    (id=C1d) et (NbrLignes=2)

    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    onclick="affichageLignes(C1d2);"
    <div id="C1dLigne1"></div>
    <div id="C1dLigne2"></div>

    Malheureusement ces 2 div ne s'ouvrent pas.
    Aurais-je commis une autre erreur de syntaxe ?

  4. #4
    Membre extr�mement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par d�faut
    Code html : 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
    <!doctype html>
    <html lang="fr">
    <head>
      <meta charset="UTF-8">
      <title>displays</title>
      <style>
      </style>
    </head>
    <body>
     
      <button onclick="affichageLignes('C1dLigne',3);"> bascule affichage Lignes 1 à 3  </button>
      <button onclick="affichageLignes('C1dLigne', 5);"> bascule affichage Lignes 1 à 5  </button>
     
      <div id="C1dLigne1">Ligne 1</div>
      <div id="C1dLigne2">Ligne 2</div>
      <div id="C1dLigne3">Ligne 3</div>
      <div id="C1dLigne4">Ligne 4</div>
      <div id="C1dLigne5">Ligne 5</div>
      <div id="C1dLigne6">Ligne 6</div>
     
      <script>
        function affichageLignes( Prefix, NbrLignes ) {
          for (let i = 1; i <= NbrLignes; i++) {
            let ref_ID_ligne_Style = document.getElementById( Prefix + i ).style;
            ref_ID_ligne_Style.display =  ( ref_ID_ligne_Style.display == 'none' ) ? 'block' :  'none';
          }
        }
      </script>
    </body>
    </html>

  5. #5
    Candidat au Club
    Homme Profil pro
    Retrait�
    Inscrit en
    F�vrier 2017
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 67
    Localisation : France, Gers (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : F�vrier 2017
    Messages : 3
    Par d�faut
    Merci, cela fonctionne maintenant.
    Ta r�ponse est plus pr�cise que toutes les pages que j'ai pu consulter.

    Ta ma�trise �gale inversement mon incomp�tence.

    Merci pour cette pr�cieuse aide.

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

Discussions similaires

  1. Incorrect number of arguments for FUNCTION
    Par Krusty22 dans le forum SQL Proc�dural
    R�ponses: 1
    Dernier message: 24/04/2008, 01h48
  2. R�ponses: 9
    Dernier message: 26/07/2007, 16h35
  3. R�ponses: 4
    Dernier message: 10/04/2006, 22h30
  4. R�ponses: 5
    Dernier message: 10/03/2006, 17h13
  5. arguments function
    Par PerfectSlayer dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 21/12/2004, 21h48

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