Newsgroup: it.comp.lang.javascript
Titolo: Problemino con Mozilla

Supponiamo di avere alcuni tag e di averli chiamati tutti "id='nome' "
Con explorer, se voglio cambiare il contenuto, posso fare
nome[0].innerHTML=.....
nome[1].innerHTML=.....
Con Mozilla, ci sarebbe
document.getElementById('nome').innerHTML=.....
ma non mi sembra che funzioni con le array: non accetta nome[0], nome[1]
Come fare? Grazie

Come fare? Grazie
L'id e' univoco, puo' esistere un solo elemento con quell'id. La
funzione non ritorna quindi un array ma un singolo object.
Al posto dell'id usa il name: 
<... name="nome" ...>
 var objs=document.getElementsByName("nome");
 var l=objs.length;
 for(i=0;i<l;i++){
	objs[i].innerHTML=.....
 }
'bye

> e gia` andiamo male... si chiama "id" perche' e` unico.
Però, explorer accetta una cosa come questa (mentre non l'accetta se invece
di 'id' ci metto 'name')
<html>
<head></head>
<body>
<div id="nome">contenuto0</div>
<div id="nome">contenuto1</div>
<script language="JavaScript">
<!--
alert(nome.length);
alert(nome[1].innerHTML);
// -->
</script>
</body>
</html>
(grazie comunque per i suggerimenti)

 di 'id' ci metto 'name')
[...]
Explorer digerisce anche i sassi.
Uno dei suoi tanti problemi (oltre a quelli di sicurezza) e' proprio il 
fatto che cerchi di intrepretare anche il codice formalmente errato, 
magari "supponendo" cosa avresti voluto fare.
Accontentati i programmatori improvvisati, scomunicati per eccesso di 
bestemmie i professionisti.
Andare a scovare un bug in queste condizioni e' un'impresa: dimentica ie 
e passa a browser seri: a parte differenze proprietarie *dichiarate* 
(magari non condivisibili, ma dichiarate) se funziona su un browser 
serio funziona anche su ie.

 ...se funziona su un browser serio funziona anche su ie.
Quale è il nome di un browser serio?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 fatto che cerchi di intrepretare anche il codice formalmente errato, 
la letteratura di IE (MSDN) "dichiara" la possibilita' di definire 
controlli con "name" o "id" duplicati e la cosa puo' essere "utile" 
aldila' del fatto che non sia compatibile con altri browser o con le 
specifiche del w3c.
--
a.cara

Alessandro Cara wrote:

PS.  Perche' ThunderBird mi fa vedere questo post come risposta a Marco 
Balestra invece che a Andrea Scartabelli?
--
a.cara

 Quale è il nome di un browser serio?
IE5.0 per Mac, se vuoi rimanere in ambito Microsoft, per esempio.
In ogni caso, basta che sia un browser che sia conforme agli standard W3C.
Personalmente al momento uso Firefox. Ma quasi tutti i browser basati su
Gecko sono sufficientemente validi.
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"Questa e' una lezione difficile, ma importante: Cio' che e' stato, e cio'
che sara', non cambia cio' che e'.
Sta a te decidere poi come prendere questa cosa,se logorarsi per un passato
che non puoi cambiare, invece di prendere tutto il bene che il presente ti
offre." ()

 specifiche del w3c.
E questa, in ambito di sviluppo web, e' un'eresia. :) Per carita', non
fraintendermi. Non sto dicendo che "tu" un'eresia, ma la Microsoft.
Fortunatamente, la Microsoft e' da sola a seguire tale politica.. ed il
futuro oggi e' piu' roseo di un tempo, per quanto riguarda gli standard
web.
Se tutti avessero fatto come la M$, sai in che inferno ci ritroveremmo
adesso? Altro che i problemi di incompatibilita' di un tempo.. quelli
sarebbero il paradiso, in confronto.
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 Balestra invece che a Andrea Scartabelli?
Lo ignoro. Io uso Dialog (che ti consiglio caldamente! ^_^ )


 Balestra invece che a Andrea Scartabelli?
Credo che abbia un difetto come il client di Mozilla sul refresh della 
tree-view.
Se e' cosi' ora dovresti vederlo corretto, sul momento ti basta 
"chiudere" il thread e poi espanderlo di nuovo.

 specifiche del w3c.
Oddio, questo schifo non lo ricordavo.
Va bene, non era questo il caso delle "interpretazioni farlocche" ma 
rimane un caso di "implementazione farlocca".
Anche se ho sbagliato esempio quei problemi ie li ha eccome e a creare 
confusione concorrono parecchio queste implementazioni senza senso.
Vedo che Zer0 ti ha gia' dato un parere sul quale concordo in tutto e 
per tutto.

 Quale è il nome di un browser serio?
Io uso Mozilla, e in generale su windows consiglierei anche io un 
qualunque browser basato su Gecko: Firefox, Mozilla, Netscape (questo 
meglio considerarlo dalla versione 7 in poi).

 web.
Probabilemnte perche' la M$ non e' una M$ ma solo una M£ ;<)
[cut]

 y=..getElementsByName=("data_carico")
A prescindere che e' sbagliata, a mio avviso, la logica (non puoi avere un
name cosi' generico), se a te interessa avere un array degli input che
rappresentano una certa data, basta che tu racchiuda quei tag in un
elemento, dai l'id univoco a quell'elemento (data_carico) e poi per
ottenere l'array in questione:
var
_arr=document.getElementById("data_carico").getElementsByTagName("INPUT");
In questo modo puoi anche avere altri tipi di oggetti nell'elemento
"data_carico" se proprio vuoi (come SPAN, DIV, LABEL, etc.. per definire
testi come etichette) ma l'array conterra' solo quei elementi.
