Frustration en Javascript

Signaler
Messages postés
17
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
16 octobre 2006
-
Messages postés
17
Date d'inscription
lundi 6 janvier 2003
Statut
Membre
Dernière intervention
14 août 2005
-
Voici mon petit problème posté sur http://www.phpcs.com/ par mégarde:

<HR>

Mon code PHP est le suivant:

<?
function affiche($path) {
$folder=dir($path);
$liste=array();
$i=0;
while($fichier=$folder->read()){
if($fichier!="." && $fichier!=".."){
$liste[$i]=$fichier;
$i++;
}
}
echo "<script type='text/javascript'><!-- function montres() {";
for($j=0;$j<$i;$j++) {
echo "window.open('./$liste[$j]','detest');";
;
}
echo ";} //--></script>$i images";
}
?>

<HR>

Ce qui me donne le code Html/Javascript suivant:

<script type='text/javascript'><!-- function montres() {'window.open('./Arbres.jpg','detest');window.open('./Arbres_color.jpg','detest');} //--></script>2 images


<HR>
Alors mon php marche mais quand j'execute mon javascript en cliquant sur le lien, J'ai une erreur Javascript: 'Objet attendu'. Il-y-a-t'il une erreur de syntaxe? - merci

Bien à vous
Valembois Sébastian

16 réponses

Messages postés
17
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
16 octobre 2006

Désolé pour les erreurs d'encodage, voici la question posée avec les bons codes:
<HR>

Mon code PHP est le suivant:

<?
function affiche($path) {
$folder=dir($path);
$liste=array();
$i=0;
while($fichier=$folder->read()){
if($fichier!="." && $fichier!=".."){
$liste[$i]=$fichier;
$i++;
}
}
echo "<script type='text/javascript'><!-- function montre() {";
for($j=0;$j<$i;$j++) {
echo "window.open('./$liste[$j]','detest');";
}
echo ";} //--></script>$i images";
}
?>

<HR>

Ce qui me donne le code Html/Javascript suivant:

<script type='text/javascript'><!-- function montre() {window.open('./Arbres.jpg','detest');window.open('./Arbres_color.jpg','detest');} //--></script>2 images


<HR>
Alors mon php marche mais quand j'execute mon javascript en cliquant sur le lien, J'ai une erreur Javascript: 'Objet attendu'. Il-y-a-t'il une erreur de syntaxe? - merci

Bien à vous
Valembois Sébastian
Messages postés
868
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
26 février 2008
1
Il faut que <!-- et //--> soient sur deux lignes distinctes sinon ça marche pas.
D'où le code :
<script type='text/javascript'>
<!--
function montre() {
window.open('./Arbres.jpg','detest');
window.open('./Arbres_color.jpg','detest');
}
//-->
</script>
2 images

Là, ça devraient marcher ! Du moins, moi ça marche.
@++
Messages postés
868
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
26 février 2008
1
Pardon, c'est 2 images
.
@++
Messages postés
17
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
16 octobre 2006

Ca doit être ça, le problème c'est que je ne sais pas comment expliquer à mon php d'écrire sur plusieurs lignes

Bien à vous
Valembois Sébastian
Messages postés
868
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
26 février 2008
1
Désolé, je ne connais pas php. Sinon, tu peux virer <!-- et //-->, comme ça, t'ai sûr que ça marche et c'est pas indispensable (à mon avis).
@++
Messages postés
17
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
16 octobre 2006

Non ce n'est pas ça, je continue à chercher

Bien à vous
Valembois Sébastian
Messages postés
17
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
16 octobre 2006

En fait il y a un mieux car je n'ai plus d'erreur Javascript quand j'enlève les "<!-- //-->", mais les images ne s'affichent pas.

Bien à vous
Valembois Sébastian
Messages postés
868
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
26 février 2008
1
Il faut que tes images soient sur le même répertoire. Sinon écrit <script language="javascript"> au lieu de <script type='text/javascript'>. Réessaie le code suivant (mais si ça marche pas avec le code précédent je vois pas pourquoi ça marcherais avec ce code mais on sait jamais...) :

<html>
<head>
<script language = "javascript">


function montre() {
window.open('./Arbres.jpg','detest');
window.open('./Arbres_color.jpg','detest');
}


</script>
</head>



2 images

<form>

</form>

</html>

Si ça marche pas, c'est vraiment bizarre.
@++
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
salut,

pour passer a la ligne en php, c'est le \n

comme ca par exemple :

echo "1er ligne \n 2éme ligne \n etc...";



@+

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
17
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
16 octobre 2006

Non çà ne marche pas, merci quand même

Bien à vous
Valembois Sébastian
Messages postés
17
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
16 octobre 2006

Oui ton code marche bien chez moi

Bien à vous
Valembois Sébastian
Messages postés
868
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
26 février 2008
1
Si t'as d'autres problèmes, n'hésite pas !
Tchao !
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
attends, en php, \n fonctionne



et je t'avais corigé le code !!!



ça fait deux questions, deux réponses !!!

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
17
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
16 octobre 2006

J'ai finalement adopté le code suivant:

<?
function affiche($path) {
$folder=dir($path);
$liste=array();
$i=0;
while($fichier=$folder->read()){
if($fichier!="." && $fichier!=".."){
$liste[$i]=$fichier;
$i++;
}
}
$folder->close();
sort($liste);
echo "<script language="JavaScript">";
echo "function $path() {";
for($j=0;$j<$i;$j++) {
echo "var win=window.open("$path/$liste[$j]","detest");";
}
echo "}";
echo "</script>";
echo "$i image(s)";
}
?>

avec un appel plus loins dans la page:

<?
$path="lambert_72";
affiche($path);
?>

Bien à vous
Valembois Sébastian
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
revois ta théorie objet aussi, et ta théorie de code propre...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
17
Date d'inscription
lundi 6 janvier 2003
Statut
Membre
Dernière intervention
14 août 2005

tout simple de permterre le close


var primary = window.self;
primary.opener = window.self;
primary.close();

zorlac