Newsgroup: it.comp.lang.javascript
Titolo: Mozilla bug?

Ciao ng.
Nel seguente esempio:
<HTML>
<HEAD>
<SCRIPT LANGUAGE=JavaScript>
function test() {
lxTbl=document.getElementById('Grd');
lxTbl.rows[1].innerHTML='<TR><TD>New.1</TD><TD>New.2</TD></TR>';
}
</SCRIPT>
</HEAD>
<BODY>
<TABLE ID=Grd BORDER=1>
<TR><TD>1.1</TD><TD>1.2</TD></TR>
<TR><TD>2.1</TD><TD>2.2</TD></TR>
<TR><TD>3.1</TD><TD>3.2</TD></TR>
</TABLE>
<INPUT TYPE=button value="Sostituisci" ONCLICK="test();">
</BODY>
</HTML>
Mi sono imbattuto in un baco di Mozilla 1.4?

 Nel seguente esempio:
[cut]
Al di la' del fatto che questi "mostri" e' preferibile evitarli, 
perche' esistono tante belle API nel DOM w3c per 
aggiungere/creare/rimuovere/duplicare/modificare nodi; di che baco stai 
parlando? Qual'e' il comportamento che ottieni?
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

Il problema è che quando clicco sul pulsante la pagina dovrebbe mostrarmi
questo HTML:
<HTML>
<BODY>
<TABLE ID=Grd BORDER=1>
<TR><TD>1.1</TD><TD>1.2</TD></TR>
<TR><TD>New.1</TD><TD>New.2</TD></TR>
<TR><TD>3.1</TD><TD>3.2</TD></TR>
</TABLE>
<INPUT TYPE=button value="Sostituisci" ONCLICK="test();">
</BODY>
</HTML>
Invece non è così; faccio prima a farti fare copia e incolla di questi due
esempi (quello qui sopra e quello del primo post) così puoi vedere di
persona la differenza:
1. copia questo esempio in 1.html e aprilo nel browser
2. copia l'esempio del primo post in 2.html e aprilo in un secondo browser
3. nel secondo browser clicca sul pulsante (la pagina si modificherà...)
4. come mai il risultato che hai sui due browser non è identico???

 2. copia l'esempio del primo post in 2.html e aprilo in un secondo browser
Cosa intendi per "un secondo browser"? Una seconda istanza di Mozilla?



Diro' una stronŁata, ma non e' che usando inner intendo l'html "contenuto" e
quindi dovrei scrivere:
lxTbl.rows[1].innerHTML='<TD>New.1</TD><TD>New.2</TD>';
senza i <tr>?
Non mi va di provarlo, scusate.
Ciao,
Ema

 senza i <tr>?
Non dici una stronzata, e' corretto (nel momento in cui rows[1] 
referenzia un TR) :)
Cmq continuo a indicare le api del dom come piu' consigliate.


 senza i <tr>?
Mi sà che la stron£ata l'ho fatta io!!!!
Ed infatti così funziona!!!
(azz.... pita! E pensare che la soluzione era solo una svista così banale...
non ti dico nemmeno su che specchi mi stavo arrampicando nel tentativo di
risolvere il problema!!!)
Grazie Ema. Ciao!

la collection rows esiste anche con browser!=IE?

> Cmq continuo a indicare le api del dom come piu' consigliate.
Lo sò benissimo Zer0 ed infatti era stata la mia prima soluzione; però
avendo delle TABLE di dimensioni abbastanza grandi ho dei problemi di
performance strepitosi!
Adesso sto' verificando se usando questo meccanismo la questione cambia...
Grazie, alla prox!
(ogni tanto "posta" anche tu qualche prb sennò senza che tu sia davvero un
esperto!)  ;-)

> la collection rows esiste anche con browser!=IE?
Certo

InnerHTML indica l'HTML contenuto in un certo nodo del DOM.
Qualcuno sà se esiste anche una proprietà che indica l'HTML corrispondente
ad un certo nodo del DOM?
In pratica nel caso di una pagina HTML che riporta:
<TABLE ID=Grd>
<TR><TD>1<TD></TR>
<TR><TD>2<TD></TR>
<TR><TD>3<TD></TR>
</TABLE>
Esiste la possibilità tramite JavaScript di avere come risultato
"<TR><TD>2<TD></TR>" per poterlo cambiare poi a piacimento?
(forse con l'ultima frase mi sono un po' incartato... spero comunque si
essere riuscito a farmi capire!!!)  ;-)

Perché guardandomi intorno sembra che non lo sia, es.
http://www.macromedia.com/v1/documents/hs4/html_reference/Scripting_Reference/rowscol.htm
Adesso che mi hai detto "certo" ho cercato ed effettivamente
http://www.mozilla.org/docs/dom/domref/dom_html_ref16.html
[OT]
Piů vedo l'help di homesite4.5 piů vedo che dice grandi cazzate (o forse č
semplicemente rimasto indietro?)
Zer0 dice che usa homesite5, ma con l'help non mi ci trovo proprio...io uso
homesite quasi solo per l'help; il 4.5 dice magari cose non vere, ma in
compenso ci trovo tutto; cerco rows con homesite5 e non trova nulla..boh
[/OT]

 compenso ci trovo tutto; cerco rows con homesite5 e non trova nulla..boh
Ci credo, perche' quello e' il binding del linguaggio di scripting.
Di certo non lo trovi nelle specifiche dell'HTML, ma nel DOM.
Puoi estendere l'help di Homesite se non ricordo male, ma per quanto mi 
riguarda, quando ho qualcosa relativo al javascript vado direttamente 
alla fonte (devedge,msdn,
w3c.org
)


 ad un certo nodo del DOM?
In IE, outerHTML. Ovviamente non e' standard.
In Mozilla, puoi emularlo. Ma se il tuo problema sono le performance, 
cmq non ti serve a niente perche' fa uso delle API del w3c.
In ogni caso, eviterei questo approccio. :)
Pensa che su alcune vecchie versioni di IE (IE5/IE4.. non ricordo le 
subversion particolari) andare a modificare l'innerHTML di una rows 
cosi' alla "teppista", o anche solo impostare un display:none, causava 
danni non irrilevanti.


 esperto!)  ;-)
Non l'ho capita ^_^"


 danni non irrilevanti.
Io non ho mai "Osato" modificare una tr, ma adesso che mi hai incuriosito ci
provo...
però uso correttamente il display:none su una tr, che problemi ti ha dato?
(es. righe d'ordine, premi il tasto "cancella", via xml cancello, al termine
nascondo la tr)

scusate l'ignoranza:
"homesite 4.5", "homesite 5"... what is this???
(è roba infettiva? esiste un vaccino?)  :-)

E' della macromedia; è più o meno un notepad evoluto, che io utilizzo perché
mi colora i vari tag e perché (fino alla 4.5) mi trovavo bene con l'help...
E' uscita la 5, poi forse mx (ma forse era la 5), ho visto giusto oggi la
pubblicità del nuovo flash2004, forse uscirà homesite2004? Boh
Tra l'altro ti installa anche topstyle lite, utile ogni tanto per i css

 Ma se il tuo problema sono le performance, cmq non ti serve a niente
perche' fa uso delle API del w3c.
Appunto...  ;-)

 ha scritto nel messaggio
news:bj9sjt$grl2t$1...@ID-147253.news.uni-berlin.de...

tnx