begin process at 2012 02 13 02:40:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

DOM!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

DOM!

samedi 25 novembre 2006 à 05:58:24 | DOM!

jnbdzjnbdz

Questions comment je retire le contenue d'un dans un element. Jai essayer avec tout les facons que jai vue sur Internet et il en pas une qui marche. J'ai essayer avec innerHTML sa marche pas jaiaussi essayer avec var valueoftherightitem = so_getText(tagget,para); et sa maffiche que aaa Part1 quand ses supposer me donner aaa <h2>Part1</h2>;

Voici le code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script type="text/JavaScript">
/**
* XML HTTP REQUEST
*/          var callcontent = "false";
            var left = "";
            var headfoot = "";
            var foot = "";
            var biglink = "";
            var classea = "";
            var classe = "";
            var valueofselopt = "";
            var myArray=new Array();
            var toArray=new Array();
            var rwhere=new Array();
            var xhr = null;
     
function getXhr()
{
if(window.XMLHttpRequest) // Firefox et autres
{
xhr = new XMLHttpRequest();
}
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
}
   
function so_getText(obj,where) {
    if(obj.textContent) return obj.textContent;
    if (obj.nodeType == 3) return obj.data;
    var txt = new Array(), i=0;
    var append = where.appendChild(obj.childNodes);
    while(append[i]) {
        txt[txt.length] = append[i];
        i++;
    }
    return txt.join("");
}

function so_clearInnerHTML(obj) {
    // perform a shallow clone on obj
    nObj = obj.cloneNode(false);
    // insert the cloned object into the DOM before the original one
    obj.parentNode.insertBefore(nObj,obj);
    // remove the original object
    obj.parentNode.removeChild(obj);
}
           
function requestcont(callcontent,where,valueofselopt)
{

if (callcontent.length == 0)
{
callcontent = valueofselopt;
}
else
{
callcontent = callcontent;
}

whereto(where);
function whereto(where)
{
where = where;
return where;
}
                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('tmpm').innerHTML = xhr.responseText;
 
                for (i=0;i<xhr.responseXML.getElementsByTagName("nssajax").length; i++) {
   
            var tagget = xhr.responseXML.getElementsByTagName("nssajax")[i];
            var idAttr = tagget.getAttributeNode("atrwhere");
            var getattr = tagget.getAttribute("atrwhere");
            alert(tagget.cloneNode(true));
            var vaofattr = idAttr.value;
       
            var para = document.getElementById(vaofattr);
            var valueoftherightitem = so_getText(tagget,para);
            alert(valueoftherightitem);
            document.getElementById(vaofattr).innerHTML = valueoftherightitem;
            //para.appendChild(tagget);
    }
                    }
                };

                adressbase="teste_gig.php?content=";
                call=callcontent;
                mix=adressbase+call;
                xhr.open("GET", mix,true);
                xhr.send(null);
}
   
function block(wi,action)
{
var elementNodeReference = document.getElementById(wi);
if (action == "open")
{
elementNodeReference.className = "blockshow";
}

if (action == "close")
{
elementNodeReference.className = "blocknone";
}

}

function moreless(where) {
var elementNodeReference = document.getElementById(where);
if (elementNodeReference.style.display != "none")
{
elementNodeReference.style.display = "none";
}
else
{
elementNodeReference.style.display = "block";
}
}

function startTime()
{
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
// add a zero in front of numbers<10
m=checkTime(m);
s=checkTime(s);
document.getElementById('txt').innerHTML= h+":"+m+":"+s;
t=setTimeout('startTime()',500);
}

function checkTime(i)
{
if (i<10)
  {i="0" + i;}
  return i;
}
</script>
</head>
<body>
<div>
<a href="#" onclick="requestcont('default','default');">Load It</a>
</div>
<div id="default">
</div>
<div id="part1">
</div>
<div id="part2">
</div>
</body>
</html>

samedi 25 novembre 2006 à 07:32:45 | Re : DOM!

PetoleTeam

Membre Club


 
Bonjour...


//-------------------------
function Affiche_Response(){
  var Html  ="";
  var Noeud = null;
  var Tag   = null;
  var Obj   = null;
  //-- Les données sont prêtes
  if( XML_Http.readyState==4){
    //-- Affichage fichier Brut
    document.getElementById('INFO').innerHTML += "<PRE>"+ XML_Http.responseText +"</PRE>";
    //-- Si réponse OK
    if( XML_Http.status==200){
      //-- Récup contenu fichier
      Obj  = XML_Http.responseXML;
      Html = "<table border='1'>"
      //-- Récup des Tag
      Noeud = Obj.getElementsByTagName("RACINE");
      //-- Parcours l'objet
      for( i=0; i <Noeud.length; i++){
        Html += "<tr>";
        //-- Récup des Balises
        Tag = Noeud[i].getElementsByTagName("BALISE_1");
        try{
          Html += "<td>" + Tag[0].firstChild.data + "</td>";
        }
        catch(e){
          Html += "<td>&nbsp;</td>";
        }
        //-- Récup des Balises
        Tag= Noeud[i].getElementsByTagName("BALISE_2");
        try{
          Html += "<td>" + Tag[0].firstChild.data + "</td>";
        }
        catch(e){
          Html += "<td>&nbsp;</td>";
        }
        Html += "</tr>";
      }
      Html += "</table>";
      //-- Write in document
      document.getElementById('REPONSE').innerHTML =Html;
    }
    else
      alert("Problem Lecture des Données\nSTATUS = " +XML_Http.status);
  }
}


avec la définition de XML_Http.onreadystatechange = Affiche_Response;

Si ton fichier est bien structuré cela devrait baigner

;0)

samedi 25 novembre 2006 à 22:59:14 | Re : DOM!

jnbdzjnbdz

Voici le fichier Xml générer par php:

<?xml version="1.0" encoding="ISO-8859-1"?>
<content>
<nssajax atrwhere="default">
aaa
<h2>Part1</h2>
</nssajax>

<nssajax atrwhere="part1">
<h2>Part1</h2>
</nssajax>
</content>

Voici ce qu'il affiche:

<body>
<div>
<a href="#" onclick="requestcont('default','default');">Load It</a>
</div>
<div id="default">
aaa
Part1
</div>
<div id="part1">
</div>
<div id="part2">
Part1
</div>
</body>

Voici ce qu'il est supposer d'affciher:

<body>
<div>
<a href="#" onclick="requestcont('default','default');">Load It</a>
</div>
<div id="default">
aaa
<h2>Part1</h2>
</div>
<div id="part1">
</div>
<div id="part2">
<h2>Part1</h2>
</div>
</body>

Si vous avez une idée de comment faire...

Et merci pour ton aide.
dimanche 26 novembre 2006 à 15:54:55 | Re : DOM!

PetoleTeam

Membre Club




B
onjour...

Suivant le schéma ci dessous...
Noeud   <content>
Noeud[0]+-   <nssajax atrwhere="default">
        |    aaa
        |    <h2>Part1</h2>
        +-  </nssajax>
Noeud[1]+-  <nssajax atrwhere="part1">
        |    <h2>Part1</h2>
        +-  </nssajax>
        </content>

  //-- Récup des Tag
  Noeud = Obj.getElementsByTagName("content");
  //-- Parcours l'objet
  for( i=0; i <Noeud.length; i++){
    //-- Récup
    Tag = Noeud[i].getElementsByTagName("nssajax");
    szAttrib = Tag.getAttribute("atrwhere");
    szTexte  = Tag.innerHTML;
    //-- Ici tu formattes la sortie comme tu veux
    Html += "<div id='" +szAttrib +"'>"+ szTexte +"</div>";
  }
  //-- Write in document
  document.getElementById('REPONSE').innerHTML =Html;


cela devrait te donner dans DIV ID="REPONSE"
<div id='default'>
aaa
<h2>Part1</h2>
</div>

<div id='part1'>
aaa
<h2>Part1</h2>
</div>


Je ne pense pas a te lire que c'est ce que tu cherches, la sortie que tu attends ne me semblant pas correspondre à la structure XML...

;0)

dimanche 26 novembre 2006 à 17:15:04 | Re : DOM!

PetoleTeam

Membre Club

OUILLE
Je me suis un peu mélangé...

<?xml version="1.0" encoding="ISO-8859-1"?>
<content>
  <nssajax atrwhere="default">
    <titre>aaa</titre>
    <h2>Part1</h2>
  </nssajax>
  <nssajax atrwhere="part1">
    <titre></titre>
    <h2>Part1</h2>
  </nssajax>
</content>

  //-- Récup contenu fichier
  Obj  = XML_Http.responseXML;

  //-- Récup des Tag

  Noeud = Obj.getElementsByTagName("nssajax");
  //-- Parcours l'objet
  Html ="";
  for( i=0; i <Noeud.length; i++){
    //-- Récup
    szAttrib = Noeud[i].getAttribute("atrwhere");

    Tag = Noeud[i].getElementsByTagName("titre");
    szTitre = Tag[0].firstChild.data

    Tag= Noeud[i].getElementsByTagName("h2");
    szPart = Tag[0].firstChild.data

    //-- Ici tu la sortie formattes comme tu veux
    Html += "<div id='" +szAttrib +"'>"
    Html +=  szTitre +"<br";
    Html += "<h2>"+ szPart +"</h2></div>";
  }

il est préférable que le texte aaa soit entre balise...

;0)

dimanche 26 novembre 2006 à 22:33:27 | Re : DOM!

jnbdzjnbdz

Jai penser de le faire d'une autre facon:
 Voici se que le serveur envoie avec la première requeste;

<cmd>
 <nssajax>
  <request>part1</request>
  <request>part2</request>
 </nssajax>
</cmd>

Javascript mais le contenue des <resquest> dans un array. Jusque la tout marche.

Apprais il fais se si:

                             for (x in requestarray)
{
requestcont(requestarray[x],requestarray[x]);
}

voici ce qu'il m'affiche:

<div id="default"></div>
<div id="part1">
</div>
<div id="part2"><h2>Part2</h2></div>

Voici ce qu'il est supposer afficher

<div id="default"></div>

<div id="part1">
Hello
</div>

<div id="part2"><h2>Part2</h2></div>
On dirait qu'il prend la dernière valeur du array.

Voici l'adresse:

http://www.jeannicolas.com/core/ajax_teste_get_atr_content_in_element.php

Merci, pour ton aide.
dimanche 26 novembre 2006 à 22:34:14 | Re : DOM!

jnbdzjnbdz

Le problème ses que mes div son déja prédéfini je ne peu pas en créé d'autre.
lundi 27 novembre 2006 à 18:09:44 | Re : DOM!

PetoleTeam

Membre Club


 
Bonjour...

J'ai un peu de mal à tout comprendre...

notament dans ta fonction
function sprequest(callcontent){...}
tu fais appel à la function
requestcont qui requière 3 arguments mais tu n'en passes que 2 ???
et qui enchaîne sur une autre requête...donc tu fais autant de requête qu'il y a d'éléments dans le tableau requestarray[]...!!!

dans la fonction reprise ci dessous, à quoi sert whereto dont tu n'exploites pas la valeur retournée, et qui est appellée 2 fois ?

//---------------------------------------------------
function requestcont(callcontent,where,valueofselopt){
  if (callcontent.length == 0){
    callcontent = valueofselopt;
  }
  else{
    callcontent = callcontent;
  }
  whereto(where);
function whereto(where){
  return where;
}

  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;
      }
    };
    adressbase="teste_gig.php?content=";
    call=callcontent;
    alert(call);
    mix=adressbase+call;
    xhr.open("GET", mix,true);
    xhr.send(null);
}

Je te propose néanmoins un test c'est de mettre += dans cette fonction...
      if(xhr.readyState == 4 && xhr.status == 200){
        document.getElementById(where).innerHTML += xhr.responseText;
      }
...et de voir ce qui est renvoyé en final...
;0)
lundi 27 novembre 2006 à 23:57:32 | Re : DOM!

jnbdzjnbdz

Bon, voici en détaille ce que jessais de faire.
Commencon avec le pourquoi:

J'ai commencer a faire une application web avec ajax, audébut tout fonctionnais jusquatent que je déside de me compliquer la vie...
Je me suis retrouver avec ce problème j'avais 9 endroits différent a loader du contenue et non un. C'est la que jai chercher sur google et jai rien trouver j'ai alors décider de loader une fois tout le contenue des 10 element que je voulais affecter dans 10 element "inventer" ou javascript prendrais le attrwhere="" pour savoir dans quelle element le contenue devais aller et prendre le contenue de ses élément.

Exemple:

_Envoie de la requeste_
_le serveur traville..._
_le serveur envoie le contenue..._

<nssajax attrwhere="part1">
allo<h2>hum</h2><hr /> n'importequoi...
</nssajax>
<nssajax attrwhere="part2">
bgd<b>aaa</b><hr /> n'importequoi...
</nssajax>


etc...

_la javascript prend le contenue du premier element...

<nssajax attrwhere="part1">
allo<h2>hum</h2><hr /> n'importequoi...
</nssajax>

_et le découpe et l'insert dans le div prédéfini...

<div id="part1">
allo<h2>hum</h2><hr /> n'importequoi...
</div>

apprais il prend l'autres et l'autre jusquatent qu'il les face tout...

Bon sa cétais ma première idée mais bon sa n'as pas marcher car je n'était pas capable de trouver une facon de prendre le contenue dans <nssajax> </nssajax>, au début jai penser a innerHTML mais sa pas marcher.

C'est la que je suis arriver avec le plan B:

_tu envoie la requeste au serveur...

_le serveur te renvoie une liste de requeste...

<resquest>part1</request>
<resquest>part2</request>
<resquest>part3</request>

etc...

_javascript prend se qui se trouve dans les elements request et le met dans un array...

_apprais il renvoie des requeste baser sur le array...

Exemple il commence avec le premier
apprais le deuxième
apprais le troisième
etc...

Le problème ses que les endroit ou le contenue doit se loader son déja prédéfini, c'est pour sa que je ne peu les créé et ses pour sa que += ne marche pas je ne rajoute pas le même contenue dans le même div mais dans plusieur qui son déja défini.

Le bus ses que sa sois le plus flexible...

Merci pour ton aide...
mardi 28 novembre 2006 à 00:01:00 | Re : DOM!

jnbdzjnbdz

Dit le moi si tu n'est pas sur car je sais que je fais beaucoup de fautes de français et fait moi confience quand je te dit que sa fait 5 personne qui on essayer de m'aider et il en a pas un qui a réussis a trouver une solution a mon problème.

Merci beaucoup.

1 2

Cette discussion est classée dans : function, var, obj, where, xhr


Répondre à ce message

Sujets en rapport avec ce message

ajax/xmlhttprequest [ par David_monchy ] salut à tous,je développe un chat, et j'ai un problème: j'utilise une liste de connectés qui affiche en 'temps reel' les membres connectés. Seulement, problem ds ma fonction ajax [ par kate1910 ] bonjour tout le monde svp est ce que quelqu'un peut me dire c'est quoi le probleme dans ma fonction ajax,normalement cette derniére va permettre a de changer le sens d'un texte qui défile [ par anthony428 ] Bonjour à tous, je viens de plonger les mains dans un site dont je suis chargé de faire la refonte et je souhaiterais changer le sens du texte qui d pb getter et setter sur ie<9 [ par aerolyte ] bonjour, habitué a l'actionscript me voila bien embéter. J'ai un bout de code qui marche bien sauf pour ie<9 [code=js]var Charg=(function(){ 'use st jquery liscroller [ par phoenixgreg ] Hi tt le monde ! Voilà j'ai mon petit script jquery liscroller, il fonctionne très bien, le texte défile mais j'aimerais qu'il défile à la vertical ( jquery liscroller aide ! [ par phoenixgreg ] Hi tt le monde ! Voilà j'ai mon petit script jquery liscroller, il fonctionne très bien, le texte défile mais j'aimerais qu'il défile à la vertical ( Rechargement d'une page non pris en compte avec certains navigateurs [ par spacedelta ] [b]Bonjour[/b], [i]J'ai posté un sujet sur ce forum puisque j'ai besoin d'aide, comme je sais que ce forum est hyper actif =D[/i] [u]Alors voici mon p attribuer une variable différente sur un click [ par guigou82 ] Bonjour, J'ai un problème qui me rend fou ! J'ai un script qui fonctionne bien pour effectuer un carroussel vertical et horizontal. Malheureusement, L'élément document et le reste... [ par alexflex25 ] Bonjour, En désespoir de cause je viens vous demander de l'aide une n-ème fois. Soit la class javascript suivante : [code=js] var alerting = Class.cr Google Maps et Safari [ par peplum37 ] bonjour, désolé pour la double question, mais je m'étais trompé de forum. j'utilisa la géolocalisation de google maps V3, tout est ok, sauf avec Safa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales