Newsgroup: it.comp.lang.javascript
Titolo: utilizzo chiamate standard.

ciao a tutti.
come avevo accennato, sto iniziando ad utilizzare i metodi standard DOM.
ora mi son sorte alcune domande:
(son esempi)
prima facevo:
    parent.nomeoggetto.value = "ciao";
ora come faccio?
    parent.getElementById("nomeoggetto").value = "ciao";   ??
come faccio per:
document.forms[0]
document.forms[0].submit
document.forms[0].elements (forse quì document.getElementsByTagName("*")
? )
prima:
    document.all.nomeoggetto
ora?
    document.getElementsByTagName("*").nomeoggetto
     oppure
    document.getElementsByTagName("*").getElementById("nomeoggetto ")
??
grazie
Daniele

 ??
Semplicemente, document.getElementById("idoggetto")
-- 
C'ya,
ZER0
  :. job profile - coder.gfxer.webDesigner
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

ma perchè
parent.oggetto
funziona, mentre
document.oggetto
no?

, 
cre...@tiscalinet.it
 
says...

Primo: Specifica che cosa diamine e' quell' "oggetto" :)
Secondo: Ovviamente non funziona perche' "parent" e' un puntatore ad una 
finestra, e "document" e' il documento della finestra corrente. E' come 
paragonare le capre con i cavoli. Sono semplicemente due cose di natura 
diversa.
Le "equivalenze" sono:
parent.oggetto -> window.oggetto (o semplicemente "oggetto")
parent.document.oggetto -> document.oggetto
Claro? :)


 ha scritto nel messaggio
news:3EB63909...@tiscalinet.it...

ti giro la domanda..
document.open() e' lo stesso che window.open() ?
--
artemis.alpeia
http://spazioinwind.libero.it/artemis


mmhhhhh..... no...
document.oggetto non funziona..... mi son perso qualche cosa....


 
http://spazioinwind.libero.it/artemis

 document.oggetto non funziona..... mi son perso qualche cosa....
Ora ti picchio :)
window, parent, top, self, opener sono puntatori ad oggetti di tipo 
"window".
"document" e' un puntatore ad un documento, che - guarda caso - e' 
contenuto in un oggetto di tipo window.
ergo, fare parent.oggetto NON E' equivalente a fare document.oggetto, 
perche' nel primo caso stai facendo:
parent.oggetto
nel secondo, stai facendo
window.document.oggetto
Se anche al posto di window tu utilizzassi parent (come le equivalenze 
di cui prima):
parent.document.oggetto
staresti cmq accedendo ad una proprieta' diversa, ovvero alla 
proprieta' chiamata "oggetto" di "document" (che e' a sua volta una 
proprieta' di "parent") e non alla proprieta' chiama "oggetto" di 
"parent".
E' chiaro?
artemis e' stato abbastanza esemplificativo.
document.open()/document.close() e window.open()/window.close() sono 
forse la stessa cosa? NO.
Sono due metodi che si chiamano allo stesso modo, ma sono due metodi 
associati a due oggetti DIVERSI, e che hanno funzioni DIVERSE.
window.document.open() apre lo stream per scrivere i dati tramite il 
metodo write() (sempre di document), e window.document.close() serve a 
chiuderlo.
window.open() apre una nuova finestra, e window.close() la chiude.
Ti pare, forse, di stare accedendo allo stesso metodo?


 the window.open method for the window object.
Ora, che c'e' scritto? "questo metodo apre una finestra NELLO STESSO 
MODO del metodo *window.open* per *l'oggetto window*"
Non ti pare che voglia dire che si tratti di DUE METODI DIVERSI, che 
fanno parte di DUE OGGETTI DIVERSI..?


 Oh. Ma txtPippo cos'e'? Una variabile? L'ID di un elemento di una form?
<input type="text" id="txtPippo">
:-)
per il resto, tutto chiaro
grazie


sě, ok. intendevo che in certi casi hanno un comportamento simile, non ceh
son la stessa cosa...
(giusto, non ho sbagliato anche con questa affermazione vero?)(zer0 scarica
la posta)

     document.getElementsByTagName("*").getElementById("nomeoggetto ")
In questo caso si utilizza sempre getElementById. Esempio:
<img id="myImg" scr="images/image1.jpg">
var image = document.getElementById("myImg");
if (image)
   image.src = "images/image2.jpg";
Gaetano

 document.getElementById("myControl").value = "Buonasera";
[cut]

 metto sempre uguali...
Sì, ma ci sono dei casi un cui è necessario mettere due elementi con lo 
stesso nome. In questo caso non è possibile mettere nome e ID uguali:
<INPUT type="radio" name="sex" value="Male"> Male<BR>
<INPUT type="radio" name="sex" value="Female"> Female<BR>
Quindi ritengo più elegante mettere solo name. Mettere sia ID che name è 
fatto principalmente per motivi di compatibilità. Qui chiedo agli altri 
se ne sanno più di me.
Gaetano

 metto sempre uguali...
Bravo :P


 se ne sanno più di me.
Per quanto mi riguarda, nei controlli form tengo solo il name tant'e' 
che ne dica il W3C.. Ancora non possiamo farne a meno, sia per una 
compatibilita' maggiore tra i browser che nei linguaggi server-side.


dopo tutti i discorsi, visto che mi son fumato un po' il cervello (devo
rileggerli bene con calma... le ferie mi hanno fatto male)
se ho un frame e devo accedere ad un altro
(<input type="text" id="txtPippo" name="txtPippo">)
parent.nomeframe.txtPippo.value = "ciao"
oppure
parent.nomeframe.document.getElementById("txtPippo").value = "ciao"
??
scusatemi... :-((

 parent.nomeframe.document.getElementById("txtPippo").value = "ciao"
Allora:
parent.nomeframe.document.nomeForm.txtPippo.value="ciao";
E questo funziona anche per i browser non DOM-compliant.
Oppure, se hai un ID univoco:
parent.nomeframe.document.getElementById("txtPippo").value="ciao";
E questo funziona solo per i browser che supportano il getElementById.


ok grazie
scarica la posta

 E questo funziona solo per i browser che supportano il getElementById.
e se nel frame ho una variabile a cui devo accedere?

 e se nel frame ho una variabile a cui devo accedere?
parent.nomeframe.nomevariale="nuovo valore";
oppure, se invece di essere in un altro frame e' proprio nel parent:
parent.nomevariabile="nuove valore";
