Partage
  • Partager sur Facebook
  • Partager sur Twitter

question de débutant

Sujet résolu
    7 juillet 2009 à 15:32:50

    Bonjour !
    je n'ai plus fait de Java Script depuis un bout de temps ... et là je bloque

    J'ai le bout de code ci-dessous (qui est un petit test vous l'aurez compris ^^)
    Il m'affiche bien mon compteur de page... mais quand je clique sur les liens... il ne passe pas dans la fonction test() Pourquoi ?

    Je vois vraiment pas ce qui pourrait gêner... une idée ?

    <script>
    		function test(){
    				alert("test");
    			}		
    			
    		function cbPage(nb){
    			var i=0;
    			for (i=1; i<=nb; i++){
    				document.write('<a href="" onClick=test() >'+ i +'</a><br>' );
    			}
    		}
    			
    			
    //window.onload = function() { Display('1', 10); };
    window.onload = function() { cbPage( 10); };
    </script>
    
    • Partager sur Facebook
    • Partager sur Twitter
      7 juillet 2009 à 15:36:59

      Car l'argument du onclick n'est pas entre guillemets ?

      document.write('<a href="" onclick="test()" >'+ i +'</a><br>');
      
      • Partager sur Facebook
      • Partager sur Twitter
        7 juillet 2009 à 15:38:41

        C'est ce que je me suis dit juste avant de poster... mais non en fait :s !
        j'ai testé avec des guillemets et ça marche pas non plus...
        • Partager sur Facebook
        • Partager sur Twitter
          7 juillet 2009 à 15:50:54

          Ah non je suis bête, c'est à cause de ton utilisation de document.write()

          Tu appelles ta fonction à la fin du chargement. Hors, quand document.write() est appelé une fois le chargement terminé, il remplace TOUT le contenu de la page par ce qu'il écrit.
          Donc le script est effacé ^^

          De toutes façons document.write() cay mal...

          Pour que ça fonctionne quand même, essaie comme ça :

          <script>
          		function test(){
          				alert("test");
          			}		
          			
          		(function cbPage(nb){
          			var i=0;
          			for (i=1; i<=nb; i++){
          				document.write('<a href="" onclick="test()" >'+ i +'</a><br/>' );
          			}
          		})(10);
          			
          			
          
          </script>
          
          • Partager sur Facebook
          • Partager sur Twitter
            7 juillet 2009 à 15:53:03

            Oh cruel Golmote... il l'a dit, c'est pour faire un test, et là, je suis pas sûr qu'il comprenne :-° ?
            • Partager sur Facebook
            • Partager sur Twitter
              7 juillet 2009 à 15:53:37

              exact ! ça sentais l'erreur débile à plein nez ^^

              merci beaucoup Golmote !

              résolu ^^
              • Partager sur Facebook
              • Partager sur Twitter
                7 juillet 2009 à 17:28:30

                Oui, au cas où tu ne serais pas habitué à la syntaxe que j'ai utilisé, sache ceci :

                function test(n) {
                  alert(n);
                }
                test(10);
                
                // est équivalent à
                
                (function test(n) {
                  alert(test);
                })(10);
                
                • Partager sur Facebook
                • Partager sur Twitter

                question de débutant

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown