begin process at 2010 03 19 07:12:37
  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 google map avec des markeurs [ par am1ra2 ] bonjour, j'ai essayé de créer une carte google map avec des markeurs en javascript à chaque fois qu'on crée des markeurs sur la carte je clicke sur le Problème de compatibilité avec Firefox [ par Sniark ] Bonjour à tous, Je suis débutant en javascript. J'ai un script qui récupère des valeurs sélectionnées dans des menus déroulants et retourne une liste problème avec eval sur une reponse ajax [ par everalex1 ] voila je demande a un script php par de l ajax daller chercher une page dun site,je taille le code reçu avec des fonctions pour obtenir que se qui min créer des lien en ajax [ par baloc ] bonjour à tous.Je souhaite réaliser des liens en ajax. ça c'est la partie simple théorique. maisntenant l'autre partie. les liens sont des éléments d' problème de return en javascript [ par LordSnotling ] Bonjour, voilà mon problème, j'ai une fonction en javascript qui devrait me retourner une string or il me retourne le code de la function, j'avoue que Ajout/suppression d'un champ input type -> Problème de récupération du tableau $_POST [ par alaska749 ] Bonjour, j'ai récupérer le script js ci-dessous permettant d'ajouter ou supprimer des input type text... ce script fonctionnne très bien mais je n'arr infopath vers sharepoint(javascript) [ par mansso12 ] [^^yeuxenlair] Bjr, mon cas est le suivant : je dois faire un code en js permettant d'activer un bouton pour envoyer des données (dates :startdate, re passage d'une liste à une autre [ par maudepasse ] Bonjour, Je crée un site en CSS et JS, et je suis confrontée à un problème technique : j'ai fait une liste divisée en plusieurs blocs en xhtml, du


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

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,218 sec (3)

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