Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/01/2012, 16h31   #1
Nouveau Membre du Club
 
Phenix
Étudiant
Inscription : janvier 2008
Messages : 173
Détails du profil
Informations personnelles :
Nom : Phenix
Âge : 24

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2008
Messages : 173
Points : 27
Points : 27
Par défaut passer les paramètres à une fonction javascript

Bonjour tout le monde

J'ai une fonction javascript:
Code :
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 :
1
2
 
<a href="javascript:decremente(<%=   op, []tab %>)"  style="width: 90px; position:absolute;top:380px;left:30px;">Précédent</a>
merci d'avance,
phenix1988 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2012, 17h09   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 201
Points : 45 201
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 :
<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 :
function decremente(op1, []tab)
c'est quoi []tab ??? pas une notation javascript

puis lors de l'appel :
Code :
"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
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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2012, 17h44   #3
Expert Confirmé Sénior
 
Avatar de Auteur
 
Inscription : avril 2004
Messages : 4 795
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 4 795
Points : 5 119
Points : 5 119
bonjour,

par la même occasion bannis le document.write() de ta fonction c'est une source de problèmes
Auteur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2012, 19h28   #4
Nouveau Membre du Club
 
Phenix
Étudiant
Inscription : janvier 2008
Messages : 173
Détails du profil
Informations personnelles :
Nom : Phenix
Âge : 24

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2008
Messages : 173
Points : 27
Points : 27
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 :
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 :
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 :
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
phenix1988 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2012, 23h19   #5
Membre expérimenté
 
Duke Jikel
Inscription : mai 2010
Messages : 340
Détails du profil
Informations personnelles :
Nom : Duke Jikel

Informations forums :
Inscription : mai 2010
Messages : 340
Points : 548
Points : 548
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 :
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.
dukej est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h31.


 
 
 
 
Partenaires

Hébergement Web