monoski
Messages postés132Date d'inscriptionmercredi 15 avril 2009StatutMembreDernière intervention13 mai 2013
-
24 juin 2010 à 22:59
kilroysoft
Messages postés1Date d'inscriptionvendredi 16 mars 2007StatutMembreDernière intervention26 juin 2010
-
26 juin 2010 à 17:55
J'utilise une boucle php qui permet d'afficher des div en fonction de $i.
Et j'utilise une boucle while qui m'affiche dans la boucle for par moment une div qui se superpose. Cette div est définie en fonction d'une requête mySQL de la sorte :
echo '
'
La fonction pseudoUpdate est un script ajax utilisé grâce à la bibliothèque prototype.js. Elle permet de mettre à jour un tableau lorsque l'on clique sur la div définie plus haut.
Voici le code de pseudoUpdate() :
<script>
function pseudoUpdate(<? echo "$data[username]";?>)
{
elementHTML = document.getElementById('player');
var url = "pseudo.php?pseudo=<? echo "$data[username]";?>";
o_options = new Object();
o_options = {method: 'get',onComplete:Reponse};
var laRequete = new Ajax.Updater(elementHTML,url, o_options);
}
function Reponse(xhr)
{
if (xhr.readyState == 4)
{
$('player').innerHTML = xhr.responseText;
}
else
{
$('player').innerHTML = xhr.status;
}
}
</script>
Actuellement le variable URL (var URL) me renvoit une valeur arrêtée de $data[username], or je désirerai que cette valeur change en fonction de la valeur affichée dans la div ($data['username']). Or la façon dont j'utilise dans mon script ne fonctionne pas. J'aimerai l'envoyer via quelque chose du genre onClick=pseudoUpdate($data[username]);
Puis traiter l'information dans mon script et l'ajouter à la variable URL à la place de mon echo actuel. Est-ce que quelqu'un pourrait me renseigner ?
Merci beaucoup je vous souhaite une bonne journée :)
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 25 juin 2010 à 09:24
Bonjour,
la fonction en javascript doit être figée, j'entends par la quelle doit être neutre pour pouvoir accepter tous les appels.
Son entête sera donc
function pseudoUpdate( url_)
et on récupère et utilise dans le corps de la fonction le paramètre url_ comme suit
var url = url_;
à toi donc de passer le paramètre dans l'appel de la fonction sur le onclick de ta DIV
onClick=pseudoUpdate("$data['username']");
ou un truc dans ce style
monoski
Messages postés132Date d'inscriptionmercredi 15 avril 2009StatutMembreDernière intervention13 mai 20131 25 juin 2010 à 20:05
Je m'étais aidé d'un tutoriel jusque là qui allait dans le sens de ce que tu m'as présenté (je te remercie encore une fois pour ton aide :p), le problème c'est que dans ma div, je dois obligatoirement mettre la fonction puis entre parenthèse je dois mettre des guillements => "" or en php ce type de notation ne permet pas d'interpréter les variables.
Donc je rajoute des apostrophes => '' et ça me fait une erreur php... J'enlève donc les guillemets, ça ne fonctionne plus...
Quelqu'un a une astuce? :p
Vous n’avez pas trouvé la réponse que vous recherchez ?
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 25 juin 2010 à 23:08
concernant l'écriture au travers d'un echo il va de soit qu'il y a obligation de mettre entre guillemet ou apostrophe afin que le javascript reconnaisse un paramètre de type chaîne et non de type variable.
La deuxième chose à penser c'est d'échapper les guillemets ou apostrophes.
avec
$data['race'] = "Race";
et
$data['username'] = "Username";
si l'on veut écrire en javascript
<div class "Race" onclick "pseudoUpdate('Username');" class ="...
il faut écrire en PHP
echo '<div class="'. $data['race'].'" onclick ="pseudoUpdate(\''.$data['username'].'\');" class = "...
Sauf erreur ou omission de ma part, mes connaissances en PHP étant plus que limitées.
;O)