Récuperer dans javascript une variable passee par une boucle en php

Résolu
cs_pfl34
Messages postés
13
Date d'inscription
vendredi 13 novembre 2009
Statut
Membre
Dernière intervention
8 novembre 2012
- 16 nov. 2009 à 22:17
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
- 17 nov. 2009 à 15:39
Bonjour,
Je suis débutant. Voilà, je cherche à passer dans une boucle php une variable à un script.
Voilà la boucle :

<?php
$rp="images_slide_show"; // nom du répertoire à lister
$rep=opendir($rp);
while ($sous_fichier=readdir($rep))
{
if (($sous_fichier==".") || ($sous_fichier==".."))
{
echo "";
}
else
{
echo '
';
echo '[# ';
echo "ragnagna";
echo ($sous_fichier);
echo '';
echo ']';
echo '
';
}
}
closedir($rep);
?>
Je ne sais pas comment récupérer dans le js l'argument '.$sous_fichier.' de la fonction creerImage.
A tous les coups, vous allez me dire "quel joyeux mélange !" ou pire "c'est nul", ou pire "revois la doc", ou encore "le code php c'est sur le serveur, etc ...". D'accord mais j'apprends et là vraiment, je ne sais plus quoi faire. Sous FF, j'obtiens toujours le même message "Erreur : cadres_09_2009_004 is not defined". Ce nom, c'est la valeur de l'attribut SRC de l'image sur laquelle je fais le click après la fin de la boucle.

Merci d'avance.


PFL34

8 réponses

cs_pfl34
Messages postés
13
Date d'inscription
vendredi 13 novembre 2009
Statut
Membre
Dernière intervention
8 novembre 2012

17 nov. 2009 à 15:27
Félicitations au papa. Il peut être fier de sa progéniture. Encore merci pour tout et à bientôt peut-être.
PS : Comment fait-on pour fermer la discussion ?

PFL34
3
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
17 nov. 2009 à 09:18
Bonjour,
pas une question php ça ?
mais bon, perso je ferais ( sans voir la
fonction sus dite ? ) :

?>'));"><?php
pas tellement la suppression du onclick qui
importe mais les ' ajoutées, sinon c'est une
variable, pas une chaîne de caractères

Cordialement [mon Site] [M'écrire] Bul
0
cs_pfl34
Messages postés
13
Date d'inscription
vendredi 13 novembre 2009
Statut
Membre
Dernière intervention
8 novembre 2012

17 nov. 2009 à 13:22
Bonjour et merci d'avoir répondu aussi vite. Hélas, je dois m'y perdre dans l'utilisation des différentes ponctuations car je n'arrive pas à récupérer le bon ID dans ma fonction JS ... je récupère --> <?php echo $sous_fichier;?> <--

Pour mémoire, voici la boucle où j'ai inséré ton code :
<?php
$rp="images_slide_show"; // nom du répertoire à lister
$rep=opendir($rp);
while ($sous_fichier=readdir($rep))
{
if (($sous_fichier==".") || ($sous_fichier==".."))
{
echo "";
}
else
{
echo '
';
a href="javascript:void(creerImage('<?php echo $sous_fichier;?>'));"><?php
echo "ragnagna";
echo ($sous_fichier);
echo '';
echo '';
echo '
';
}
}
closedir($rep);
?>
et voici la fonction JS en question :
function creerImage(sous_fichier) {
alert ("debut fonction");
var sous_fichier = '<?php echo $sous_fichier; ?>' ;

// Récupérer les attributs de l'image cliquee
alert ("sous_fichier");
alert (sous_fichier);
var img = document.getElementById("sous_fichier");
var imgAttr = img.getAttribute("src");
alert (imgAttr);


// Ajouter un nouvel élément
var grande_image = document.createElement("div");
grande_image.innerHTML="";
document.body.appendChild(grande_image);
}
Désolé, j'ai du mal. Passée la cinquantaine, les neurones sont un peu faiblards !
Patrice
PFL34
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
17 nov. 2009 à 13:35
regardez la page html générée, ça aide.
respectez au moins ce que j'ai mis.
par exemple, déjà, ça commence par ?>
>>Passée la cinquantaine, les neurones sont un peu faiblards
parlez pour vous ! car moi après la soixantaine
tout va bien, ce n'est pas une question d'age...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_pfl34
Messages postés
13
Date d'inscription
vendredi 13 novembre 2009
Statut
Membre
Dernière intervention
8 novembre 2012

17 nov. 2009 à 14:28
Effectivement, j'ai "loupé" le ?> ...
J'ai corrigé et regardé le HTML généré :
.../...
[javascript:void(creerImage(cadres_09_2009_003.jpg));

]
A part l'espace qui manque avant la fermeture de la balise IMG, je ne vois pas ce qui est incorrect.

Mais ... le résultat du script n'est toujours pas correct, comme le montre l'ami Firefox avec le message ci-dessous :

Erreur : cadres_09_2009_003 is not defined
Fichier Source : javascript:void(creerImage(cadres_09_2009_003.jpg));
Ligne : 1

Je ne vois qu'une chose : on a perdu le .jpg ! J'en arrive à me demander si je peux utiliser un tel nom en tant que variable ?!

Encore merci et c'est décidé, je vais booster mes neurones.

PFL34
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
17 nov. 2009 à 14:41
mon papa ( plus de 90 ans ) vient de me faire remarquer :
....creerImage(cadres_09_2009_003.jpg))...
c'est quoi la variable cadres_09_2009_003.jpg ????
les navigateurs doivent dirent qu'ils ne
connaissent pas
....creerImage('cadres_09_2009_003.jpg'))...
ça devrait aller bien mieux
( et je le crois mon papa, il a testé
?>'));"><?php
et pour lui ça baigne.
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
17 nov. 2009 à 15:05
remarquez que le void est inutile au fond
( la force de l'habitude et Alzheimer me guette )
?>');"><?php

doit suffire
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
17 nov. 2009 à 15:39
on coche "réponse acceptée"
sur la réponse qui a aidé.
nickel si ça baigne.
>>à bientôt peut-être.
à mon age, bientôt c'est toujours bientard.
0