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

Signaler
Messages postés
13
Date d'inscription
vendredi 13 novembre 2009
Statut
Membre
Dernière intervention
8 novembre 2012
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
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

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

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
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
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
Messages postés
13
Date d'inscription
vendredi 13 novembre 2009
Statut
Membre
Dernière intervention
8 novembre 2012

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
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
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...
Messages postés
13
Date d'inscription
vendredi 13 novembre 2009
Statut
Membre
Dernière intervention
8 novembre 2012

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
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
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.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
remarquez que le void est inutile au fond
( la force de l'habitude et Alzheimer me guette )
?>');"><?php

doit suffire
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
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.