Passer les paramètres à une fct javascript

phx1988 -  
Alain_42 Messages postés 5413 Statut Membre -
Bonjour tout le monde

J'ai une fonction javascript:

<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:

<a href="javascript:decremente(<%= op, []tab %>)" style="width: 90px; position:absolute;top:380px;left:30px;">Précédent</a>

merci d'avance,

7 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    function decremente(op1, tab){ 


    il ne faut pas les [] devant tab

    si l'argument 2 (est un array alors javascript recevra un array

    ensuite il faut que l'array tab soit de cette forme:

    tab[1]='image1.jpeg';
    tab[1]='image2.jpeg'; etc..

    le tab contient les src des images

    et
    document.write('<img src="'+tab[op]+'" width="300" height="300" />');
    0
  2. phx1988
     
    Merci beaucoup Alain

    il me reste le problème de l'appel de cette fonction, quand j'essaie de l'appeler à travers:

    [CODE]
    <a href="javascript:decremente(<%= op, tab %>)" style="width: 90px; position:absolute;top:380px;left:30px;">Précédent</a>
    [/CODE]

    je reçois le message d'erreur suivant :
    [CODE]
    The method print(int) in the type JspWriter is not applicable for the arguments (int, int[])
    [/CODE]

    t'as une solution à ça?
    merci
    0
  3. phx1988
     
    Merci beaucoup Alain
    il me reste le problème de l'appel de cette fonction, quand j'essaie de l'appeler à travers
    <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 :
    The method print(int) in the type JspWriter is not applicable for the arguments (int, int[])

    t'as une solution à ça?
    merci
    0
  4. Alain_42 Messages postés 5413 Statut Membre 904
     
    ça c'est de l'asp et je ne connait pas du tout
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Alain_42 Messages postés 5413 Statut Membre 904
     
    une solution purement javascript

    <script language="Javascript" type="text/javascript">
    //initialisation d'un array contenant tous les src des images il doit y en avoir autant que ton op
    var tab=new Array();
    tab[1]="image5.jpeg";
    tab[2]="image4.jpeg";
    tab[3]="image3.jpeg";
    tab[4]="image2.jpeg";
    tab[5]="image1.jpeg";
    var op=-1;
    function decremente(op1){
    if(op==-1) op=op1;
    op=parseInt(op)-3;
    //document.getElementById('description').innerHTML=op;
    document.write('<img src="'+tab[op]+'" width="300" height="300" />'); // j'arrive pas à afficher l'image :s
    if(op==0) alert('finnn');
    }
    
    </script>
    
    et l'appel
    
    <a href="javascript:decremente('5')" style="width: 90px; position:absolute;top:380px;left:30px;">Précédent</a>
    0
  7. phx1988
     
    merci bcp pour ta réponse, ça marche
    mais j'ai un petit problème : je souhaite garder le css de la page, or une fois la fct javascript executé, je ne vois afficher que les images (les boutons, les étiquettes etc. disparaissent !!)
    t'as une solution?
    merci d'avance
    0
  8. Alain_42 Messages postés 5413 Statut Membre 904
     
    normal c'est le document.whrite qui "écrase tout"

    fais avec un innerHTML

    tu mets un <div id="zone_images"></div> à l'endroit de ta page où tu veux les avoir

    et dans la fct JS remplaces

    document.write('<img src="'+tab[op]+'" width="300" height="300" />');

    par:

    document.getElementById('zone_images').innerHTML = '<img src="'+tab[op]+'" width="300" height="300" />'
    0