11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,
J'ai un souci avec des passages de variables php vers du javascript
Apparemment les valeurs de tableau php ne sont pas passées correctement
vers le tableau javascript... Pourquoi ?

Mon bout de code est sensé obtenir dans un tableau javscript
toutes les images (qui commencent par main)
qui se trouvent dans le repertoire "images/index/" du serveur...
Mais cela ne fonctionne pas. Pourquoi?

Pouvez-vous me consacrer un peu de votre temps pour m'aider ?
D'avance merci.

<?php
	session_start();
	ob_start();
	require_once("php/connexionMysql.inc.php");
	$rep = "images/index/";
	$vues = array();

	$dir = opendir($rep);
	$cpt=0;
	while($file = readdir($dir)) {
		if (substr($file,0,4) == "main") {
			$vues[] = $rep.$file;
			$cpt++;
		}
	} 
	closedir($dir);
	ob_end_flush();
?>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>vues</title>

<script language="JavaScript">
<!--
var vues=new Array();
var ivue=0;
<?php
	for ($ivue=0; $ivue < $cpt; $ivue++) {	
?>
		ivue = <?php echo $ivue; ?>;
		vues[ivue] = "<?php echo $vues[$ivue]; ?>";
		alert (ivue, vues[ivue]);
<?php	
	}
?>

function changementphoto()
{
	document.getElementById("photo").src=vues[cpt];
	cpt++;
	if(cpt>=vues.length) cpt=0;
	setTimeout("changementphoto()",2000);
}
//-->
</script>
</head>

<body>
</body>
</html>

Modifié par jytest (12 Feb 2012 - 12:38)
alert (ivue, image); ? image n'est déclaré nul part.


Si tu pouvais mettre le code en ligne (page d'exemple), ça aiderai éventuellement
Modifié par kenor (12 Feb 2012 - 10:52)
Ok.. bien vu... Merci.
Etant sur ce truc depuis un temps certain,
après des copier/coller...
Cette erreur s'est glissée...
Mille excuses...
Je reprécise mon problème.
a écrit :
Apparemment les valeurs de tableau php ne sont pas passées correctement
vers le tableau javascript... Pourquoi ?


Voici le lien ici
Modifié par jytest (12 Feb 2012 - 11:06)
Alors par contre alert(machin,machin2) c'est pas une syntaxe correcte si tu veux afficher la 2eme variable ...

tu peux faire console.log(machin,machin2); pour afficher dans la console. Par contre pour alert() on attend une variable de type String.

donc alert(machin + ' - ' + machin2);

et ça marchera. Ton Php ne pose pas problème, c'est ton alert() qui bug.
Et oui, tu as raison...
Merci beaucoup... Je peux avancer...
Bon weekend à tous...
Modifié par jytest (12 Feb 2012 - 12:37)