Tag XML initialisé à vide + AJAX

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Tag XML initialisé à vide + AJAX

par Cyrano » 01 juin 2007, 14:11

regarde ceci :
document.getElementById('idAnneeImmo')...
Il est logique que ça ne fonctionne pas puisque tu essayes de pointer sur une balise en la cherchant par son identifiant... qui n'existe pas.

Utilise getElementsByTagName() à la place : ça va te retourner un tableau des éléments correspondant, donc il faudra ajouter un index numérique.

par iut » 01 juin 2007, 10:50

Jai pas mis le code Complet, mais je sais qu'il est correct
// On défini ce qu'on 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
	      if(xhr.readyState == 4 && xhr.status == 200){
var idAnneeImmo = docXML.getElementsByTagName("idAnneeImmo");
 document.getElementById('idAnneeImmo').value=idAnneeImmo.item(0).firstChild.data;<- me fait un erreur
}
}
page php qui fait les tags xml (appelé par ma fonction Ajax)
echo "<idAnneeImmo></idAnneeImmo>\n";

par Cyrano » 01 juin 2007, 07:47

Au moment de récupérer le retour du serveur, tu récupère une chaine envoyée par l'application appelée : le problème est donc coté serveur dans la manière de traiter les balises vides et de formater la sortie selon ce que tu veux faire.

Sans voir ton code de récupération de données, difficile de t'aider plus.

par iut » 31 mai 2007, 23:15

Et si Je dois récuperer toutes valeurs même si elles ont la valeur null dans la Base.

Et dans ma fonction Ajax onreadychange, je fais comment pour recuperer des tags VIDES?

par Cyrano » 31 mai 2007, 23:11

Probablement NULL : essaye, tu verras bien : sinon, tu pourrais aussi bien ne générer une balise que si tu as un contenu à mettre dedans :
if (!empty($data[$nomAttribut]))
{
    echo "<". $nomAttribut .">". $data[$nomAttribut] ."</". $nomAttribut .">\n";
}

par iut » 31 mai 2007, 23:08

et kan je ferait ****.item(0).firstChild.data pour l'élément vide, il va me récuperé quoi comme valeur?

par Cyrano » 31 mai 2007, 22:42

Crée un élément vide dans ce cas :
if (empty($data[$nomAttribut]))
{
    echo "<". $nomAttribut ." />\n";
}
else
{
    echo "<". $nomAttribut .">". $data[$nomAttribut] ."</". $nomAttribut .">\n";
}

par iut » 31 mai 2007, 22:36

j'ai eu le même problème que toi, mais je n'ai jamais y remdier si quelqu'un aurait la gentillesse de lui répondre ce serait sympa.

Tag XML initialisé à vide + AJAX

par Ish » 31 mai 2007, 17:13

bonjour,

Je vous écris pour m'eclaircir sur un problème que j'ai en DOM:

Code : Tout sélectionner

//Lorque je fais ma requete, il se peut que dans ma base, des attributs peuvent etre null //Et je veux que lorsque je fais ma boucle pour toutes les occurrences de ma requête, je fais les tags XML adéquates, //cependant , j'ai des problèmes lorsque l'attribut est de valeur null if ($data[$nomAttribut] == ""){ echo "<".$nomAttribut."></".$nomAttribut.">\n"; <- J'essaie de faire un tag null }else{ echo "<".$nomAttribut.">" .$data[$nomAttribut]. "</".$nomAttribut.">\n"; }
ensuite lorsque je veux récupérer les données des balises grâce a la fonction

document.getElementById("idAnneeImmo").value=idAnneeImmo.item(0).firstChild.data;
et que ce tag a eté initialisé a vide, mon naviguateur me fait une erreur du type

etablissement.item(0).firstChild has no properties

Et je voulais savoir comment initialisé un tag XML a null