Bonjour, je travaille depuis un certain temps sur une application web faite avec ajax et PHP. Je viens de rencontrer un problème qui m'empêche d'avancer.
Le problème ses que mon application fait avec ajax peu seulement afficher le contenue dans un endroit, mais ses que la je veu qu'il affiche le contenue dans d'autres endroits. Avec se problème jai eu l'idée géniale d'organiser l'information envoyer par le serveur en le mettent dans un élément. Exemple :
<nssajax atrwhere="default">
<h2>Default</h2>
</nssajax>
<nssajax atrwhere="part1">
<h2>Part1</h2>
</nssajax>
L'attribut atrwhere sa ses la valeur du id du div qui vas recevoir le contenue.
Voici le code qui logiquement devrait marcher, mais pour une raison inexplicable ça ne marche pas...
getXhr();
// on défini ce quon va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
whereto();
if(xhr.readyState == 4 && xhr.status == 200){
//document.getElementById(where).innerHTML = xhr.responseText;
var ajaxcontent = xhr.responseText;
for (i=0;i<ajaxcontent.getElementsByTagName("nssajax").length; i++) {
var tagget = ajaxcontent.getElementsByTagName("nssajax").item(i);
var idAttr = tagget.getAttributeNode("atrwhere");
var vaofattr = idAttr.value;
var valueoftherightitem = tagget.item(i);
var innercontent = valueoftherightitem.innerHTML;
document.getElementById(vaofattr).innerHTML = innercontent;
}
}
};
si je fais une alert -> alert(ajaxcontent); sa m'affiche le contenue sans problème, mais le javascript bloque a getElementsByTagName("nssajax") il dit que se n'est pas une fonction. Voilà mon problème.
C'est vrai que jai inventer <nssajax atrwhere="part1">, mais sa je ne veu pas que ça affiche.
Liens à l'application:
www.jeannicolas.com/core/ajax_teste_get_atr_content_in_element.php
Merci pour votre aide.
(Et je dois m'excuser pour mon ortographe)