Newsgroup: it.comp.lang.javascript
Titolo: Passare un oggetto ad una funzione

Come da oggetto (scusate il gioco di parole), qualcuno sa dirmi se è
possibile (e come) passare ad unafunzione un oggetto?
Ad esempio un elemento Node ottenuto durante l'utilizzo del DOM...

 Ad esempio un elemento Node ottenuto durante l'utilizzo del DOM...
Forse non ho capito la domanda:
 function x(sender) {
 se usi x(tuoNode) stai passando un riferimento all'oggetto ...
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.

Il mio problema è questo: ho un oggetto XMLHttpRequest, la cui
funzione ResponseXML mi rappresenta un documento XML.
ResponseXML mi consente di utilizzare, tra le altre, la funzione
getElementsByTagName("...") che mi restituisce tutti gli elementi di
quella pagina xml che abbiano un determinato tag.
Se io volessi passare uno di questi oggetti
(getElementsByTagName("...").item(0)) ad una mia funzione, come potrei
fare?
Io voglio creare una funzione a cui passare un elemento x(ht)ml... Come
si fa?

 fare?
forse continuo a non capire ...
var obj=...getElementsByTagName("...")[0];
tuafunction(obj);
...
-- 
"La realtà è un'illusione causata dall'assenza di alcool."
									      A.

Ok, testato col semplice utilizzo di DOM per un documento html e
funziona correttamente.
Però se lavoro con l'oggetto XMLHttpRequest(), il risultato non è
quello che mi aspetterei.
Come prova, ho creato due documenti: un semplice file xml (dati.xml) e
un file html che tenta di leggere i dati da quel file:
dati.xml
--------
<?xml version="1.0"?>
<root>
  <dato>AUHAUHAUHA</dato>
</root>
index.html
----------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"
http://www.w3.org/TR/DTD/xhtml1-strict.dtd
">
<html>
  <head>
    <title>Prova</title>
    <script type="text/javascript">
    var obj_ajax = null;
    function New_XMLHttp()
    {
      if (window.XMLHttpRequest)
        return new XMLHttpRequest();
      else
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
    function leggi_dati()
    {
      if (obj_ajax==null)
      {
        obj_ajax = new window.XMLHttpRequest();
        obj_ajax.open("POST", "dati.xml", true);
        obj_ajax.setRequestHeader("Content-type",
"application/x-www-form-urlencoded");
        obj_ajax.onreadystatechange=dati_listener;
        obj_ajax.send("");
      }
      return 0;
    }
    function dati_listener()
    {
      if (obj_ajax.readyState==4)
      {
        if (obj_ajax.status==200)
        {
          var
dato=obj_ajax.responseXML.getElementsByTagName("dato").item(0);
          alert("Dati ricevuti. Variabile dato="+dato+",
typeof(dato)="+typeof(dato));
          // Ora passo l'oggetto alla mia funzione di prova
          prova(dato);
          obj_ajax = null;
        }
      }
      return 0;
    }
    function prova(node)
    {
      alert("Funzione prova(). Variabile node="+node+",
typeof(node)="+typeof(node));
      return 0;
    }
    </script>
  </head>
  <body>
    <form name="frmMain" action="" method="post">
      <input type="button" id="cmdOK" value="Leggi"
onclick="leggi_dati()" />
    </form>
  </body>
</html>
Notare che quando la funzione dati_listener accede al nodo, mi dice che
è un "[Object HTML Collection]", mentre passando l'oggetto alla
funzione ottengo che è un [Object Element].
Cosa sbaglio?