Javascript dans du javascript

Résolu/Fermé
patate34 Messages postés 44 Date d'inscription mardi 21 août 2007 Statut Membre Dernière intervention 18 septembre 2010 - 3 nov. 2009 à 21:18
patate34 Messages postés 44 Date d'inscription mardi 21 août 2007 Statut Membre Dernière intervention 18 septembre 2010 - 3 nov. 2009 à 22:04
Bonjour,
pouvez-vous m'aider à comprendre pourquoi je n'arrive pas à appeler le fonction Javascript OuvrirFenetre dans mon javascript suivant :

<script language="javascript">
// récupérer les éléments du tableau cf liste.js afin de créer un formulaire par produit
for(i=0; i < liste_produits.length ; i++) {
// contenu de chaque ligne du tableau : référence, nom du livre, prix en euros, fichier vignette,EAN
affiche = "<div id='article'><table class='article'>";
affiche += "<tr><th class='TitreArticle'>"+ liste_produits[i][1] + "</th><tr><td class='CadreArticle' align='center' >";
affiche += "<A HREF='javascript:OuvrirFenetre('./catalogue/" + liste_produits[i][0] + "_zoom.jpg','Bague Strass',463,700)'><img src= './catalogue/" + liste_produits[i][0] + "_mini.jpg' alt='Cliquez ici pour agrandir la photo...' title=' collier POMPOM' width='100' height='75'></a></td></tr><tr></A>";
affiche += "<td class='FormulaireArticle' >";
affiche += "<form name='" + liste_produits[i][0] + "' id='" + liste_produits[i][0] + "' onsubmit='recup_produits(this.name);return false'>";
affiche += "<label>" + liste_produits[i][3] + "€ </label>";
affiche += "<input name='quantite' id='qt_" + liste_produits[i][0] + "' type='text' value='1' size='2' maxlength='2'/>";
affiche += "<input name='libelle' type='hidden' value='" + liste_produits[i][1] + "'/>";
affiche += "<input name='id' type='hidden' value='" + liste_produits[i][0] + "'/>";
affiche += "<input name='prix' type='hidden' value='" + liste_produits[i][3] + "'/>";
affiche += "<input type='submit' value='+'></form></td>";
affiche +="</tr></tr></table></div>";
document.write(affiche);
}
</script>

4 réponses

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 504
3 nov. 2009 à 21:41
Penses à mettre ton navigateur à jour.
Écris tes balises ainsi que leurs attributs en minuscules.
Est-ce que la fonction "OuvrirFenêtre" fonctionne quand tu écris le lien par toi-même (avec l'url sensée être générée par Javascript) ?
Avec Firefox, tu as une console très utile et tu peux aussi voir le code source après exécution du DOM (en sélectionnant la partie concernée (Ctrl+A pour tout) et clic droit → Code source de la sélection).
0
patate34 Messages postés 44 Date d'inscription mardi 21 août 2007 Statut Membre Dernière intervention 18 septembre 2010 1
3 nov. 2009 à 21:45
Oui, la fonction Javascript fonctionne très bien si je la place hors code javascript.
Je vais faire le test avec firefox...
Merci pour ton aide !
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 504
3 nov. 2009 à 21:51
Le problème, c'est que voici le code généré (avec de fausses données) :
<a href='javascript:OuvrirFenetre('./catalogue/521_zoom.jpg','Bague Strass',463,700)'>...</a>
Alors c'est assez voyant maintenant ?
Essaye comme ça :
affiche += "<a href=\"#\" onclick=\"OuvrirFenetre('./catalogue/" + liste_produits[i][0] + "_zoom.jpg','Bague Strass',463,700); return false;\"><img src=\"./catalogue/" + liste_produits[i][0] + "_mini.jpg\" alt=\"Cliquez ici pour agrandir la photo...\" title=\" collier POMPOM\" width=\"100\" height=\"75\"></a></td></tr><tr></A>"; 
0
patate34 Messages postés 44 Date d'inscription mardi 21 août 2007 Statut Membre Dernière intervention 18 septembre 2010 1
3 nov. 2009 à 22:04
Nickel, merci beaucoup !
0