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 :

passer les paramètres à une fonction javascript


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 187
    Points : 73
    Points
    73
    Par défaut passer les paramètres à une fonction javascript
    Bonjour tout le monde

    J'ai une fonction javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <script language="Javascript" type="text/javascript">
     
    var op=-1;
    function decremente(op1, []tab){
    	if(op==-1) op=op1;
    	op=parseInt(op)-3;
    	//document.getElementById('description').innerHTML=op;
    	document.write('<img src="image.jsp?iddd=tab[op]"  width="300" height="300"  />');   // j'arrive pas à afficher l'image :s
    	if(op==0) alert('finnn');
    	}
     
    </script>
    où op est un entier et []tab est un tableau d'entiers,
    comment je peux afficher mon image en passant les paramètres de la fonction à la balise img src


    voici l'appel de la méthode javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="javascript:decremente(<%=   op, []tab %>)"  style="width: 90px; position:absolute;top:380px;left:30px;">Précédent</a>
    merci d'avance,

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    si tu tiens à passer par un href pour lancer la fonction, je te conseille d'utiliser le onclick du lien puis d'inhiber le href par un return false:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="decremente(<%=   op, []tab %>); return false;"  style="width: 90px; position:absolute;top:380px;left:30px;">Précédent</a>
    Ceci étant plusieurs choses me dérangent dans ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function decremente(op1, []tab)
    c'est quoi []tab ??? pas une notation javascript

    puis lors de l'appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "decremente(<%=   op, []tab %>);
    ton code coté serveur doit rédiger les paramètres, ta fonction en attend deux séparés par une virgule, et à mon avis ce n'est pas ce que redige ton asp ??
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    bonjour,

    par la même occasion bannis le document.write() de ta fonction c'est une source de problèmes

  4. #4
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 187
    Points : 73
    Points
    73
    Par défaut
    Salut
    J'ai pu corriger la fonction javascript:
    il ne faut pas les [] devant tab, si l'argument 2 (est un array alors javascript recevra un array
    voilà la fonction javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <script language="Javascript" type="text/javascript">
     
    var op=-1;
    function decremente(op1, tab){
    	if(op==-1) op=op1;
    	op=parseInt(op)-3;
    	//document.getElementById('description').innerHTML=op;
    	document.write('<img src="image.jsp?iddd="'+tab[op]+'"  width="300" height="300" style="position:absolute;top:280px;left:100px;"  />');
    	if(op==0) alert('finnn');
    	}
    </script>
    mais il me reste le problème de l'appel de cette fonction, quand j'essaie de l'appeler à travers:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     <a href="javascript:decremente(<%=   op, tab %>)"  style="width: 90px; position:absolute;top:380px;left:30px;">Précédent</a>
    je reçois le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    The method print(int) in the type JspWriter is not applicable for the arguments (int, int[])
    est-ce que quelqu'un à une solution à CE problème?

    merci d'avance

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Points : 496
    Points
    496
    Par défaut
    Oui, va sur le forum jsp, car tu as clairement un problème de JSP de non de Javascript.
    Mais la réponse à ton problème et vraiment très simple :
    Tu fais un <%= pour deux variables, cela n'a aucun sens. De plus ton tableau il va falloir le sérialiser en javascript.

    Déjà dans un premier temps il faut découper le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="javascript:decremente(<%=op%>, <%=tab %>)"...>
    Déjà ce code devrait normalement fonctionner. Sauf que ton tab c'est un tableau Java, il faut le transformer pour qu'il s'affiche comme un tableau javascript :
    Donc je pense qu'il faut que tu sérialise ce tableau que tu mets dans une variable de ta JSP et ensuite tu réutilises cette nouvelle variable à la place de tab.

    Au vu de l'écriture de ton code, je pense que tu es débutant en programmation, car tu mélanges code behind et code front.

Discussions similaires

  1. [Débutant] [ode15s] passer des paramètres à une fonction
    Par lecteur1001 dans le forum MATLAB
    Réponses: 6
    Dernier message: 09/07/2009, 16h02
  2. comment passer un tableau à une fonction javascript
    Par beegees dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/03/2009, 19h48
  3. Passer un paramètre à une fonction avec un gestionnaire d'évènements
    Par el_butcho dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/03/2008, 21h22
  4. Passer des paramètres à une fonction dans before_filter
    Par abir84 dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 27/01/2008, 19h40
  5. Réponses: 3
    Dernier message: 10/08/2007, 16h07

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