11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Actuellement je suis un stage et je suis en train de perdre du temps sur quelque chose que je ne vois pas ou alors qu'il n'est pas possible. JE débute donc soyez indulgant.
Voici mon code :

<script type="text/javascript">

function mouseOver(param)
{
//alert(param);
document.getElementById("img").src = '<?php echo $img Smiley param ; ?>';


}
function mouseOut(param2)
{
var id = parseInt(param2);
document.getElementById("img").src = '<?php echo $img[$id]; ?>';

}

Je dois gérer un onmouseover sur une image. Je passe par un petit script en javascript. le nom des images sont stockés dans des tableaux en php. Ici j'ai besoin de récupérer le paramètre passé à ma fonction 'param' et lui dire que c'est l'indice de mon tableau en PHP.
Vous voyez le problème.
Comment puis je régler le problème ?
Merci d'avance pour vos aides.

EG.
Modifié par rouximus (25 Jan 2012 - 14:46)
bonjour

Et je dirai que tu n'as pas suivi tes cours si tu en as eu...

Donc rappel :

Le php est un langage coté serveur
Le javascript est un langage coté client

Le php s'exécute avant le chargement de la page, afin de renvoyer du html (en général)

Le javascript s'exécute une fois la page chargée...


Rien que ça devrait te faire comprendre ton erreur....

Ce que tu veux faire, de cette manière, c'est impossible
Salut,

En fait si, c'est tout a fait possible, cela ne se fait pas en direct, mais au travers d'une requête asynchrone.

Un exemple de code via le framework mootools :

Coté JS :


var mouseOver = function(param) {
  new Request({ url: 'monscript.php', onSuccess: function(rep) { 
    $('monimg').set('src', rep);
  } }).send('id=' + param);
}


coté PHP:

// monscript.php 
echo $img[$_POST["id"]];


En gros à chaque appel à la fonction mouseOver, le script va interroger le serveur PHP qui va lui retourner tout ce qui sort en affichage (echo, print...). Ensuite on utilise ce qui est retourné pour changer le src de l'image.
Modifié par Miky76 (26 Jan 2012 - 18:30)