Bonjour à tout,
J'ai un problème sur un script en somme assez inutile mais bon, j'aime les choses inutiles car en général, c'est grâce à elles que je m'améliore... (hum hum...)
Voici l'exposé de mon problème en "français" tout à d'abord :
J'ai ma page news.php dans laquelle se trouve une div dont l'id est composé du mot "voir" et du numéro de la news donc "id=voir-5" par exemple. Cette div contient un lien qui qui m'ouvre une pop-up vers les commentaires correspondant à cette news.
J'ai aussi dans cette page news.php un lien qui m'ouvre une pop-up pour ajouter un commentaire à la news correspondante.
J'aimerais qu'au moment de l'ajout du commentaire la page news.php se mette à jour en ajax et m'indique qu'un nouveau commentaire a été ajouté.
Exposé de mon problème grâce au code source maintenant (je suis sûr que vous comprendrez mieux ^^) :
news.php :
1 2 3 4 5 6 7 8
| <div style='float:left;margin-left:10px;'>
<hr />
<a style='cursor:pointer;' onCLick="window.open('ajout_commentaire-5.htm', 'Ajouter un commentaire', 'width=555px, height=305px');">[ajouter un commentaire]</a>
</div>
<div style='float:right;' id='voir-5'>
<hr />
<a style='cursor:pointer;' onCLick="window.open('consulter_commentaire-5.htm', 'Consulter les commentaires', 'width=555px, height=530px');">[voir les commentaires (13)]</a>
</div> |
ajout_commentaire.php :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| <script type="text/javascript">
function chargeNews(news){
nombre=file('nombre_commentaire-' + news + '.htm');
if(nombre==1){
$height=110;
}
else{
$height=0;
}
for(i=0;i<nombre;i++){
if(i<5){
$height+=100;
}
}
$height+=30;
div='voir-' + news;
window.opener.document.getElementById(div).innerHTML="<hr /><a style='cursor:pointer;' onCLick=\"window.open('consulter_commentaire-" + news + ".htm', 'Consulter les commentaires', 'width=555px, height=" + $height + "px');\">[voir les commentaires (" + nombre + ")]</a>";
}
function file(fichier){
if (window.XMLHttpRequest)
xhr_object = new XMLHttpRequest();
else
if (window.ActiveXObject)
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return (false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if (xhr_object.readyState == 4)
return (xhr_object.responseText);
else
return (false);
}
</script> |
Résultat attendu sur news.php :
[voir les commentaires (14)]
Or, le nombre de commentaires reste inchangé et aucune erreur n'est signalée ni par web developper toolbar ni par firebug... snif
Auriez-vous une idée ?
Lorsque je fais
alert(window.opener.document.getElementById('voir-5').value);
Il me dit "undefined".
Je sèche là...
Merci d'avance à vous et bonne soirée/nuit
Partager