Newsgroup: it.comp.lang.javascript
Titolo: Copia dati da <SELECT> a <SELECT>

Ciao, come sempre ricorro a voi lumi di javascript:
           for (i = 0; i < regione.options.length; i++) {
                var opt = window.document.createElement("OPTION");
                opt.value = regione.options[i].value;
                opt.text = regione.options[i].text;
                regioneUniversita.add(opt);
           }
cosa c'è di non standard per cui su IE funziona e su FireFox no???
grazie 

 cosa c'è di non standard per cui su IE funziona e su FireFox no???
No=
 - non accoda le option
 - segnala errore nella console
 - non segnala errore ma non fa nulla
 - entra in un loop infinito
 - formatta il pc
 - esce il cappuccino ma con miscela latte-caffé errata
 .......................
Cos'è esattamente "regioneUniversita" ?
Come è definita "regione" ?
Non è che stai usando riferimenti diretti stile
IE-CHE-DIGERISCE-ANCHE-I-SASSI? (ossia
regione=document.getElementById('regione') ) ?
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.

     A.V.
Mahh :-) 

 fin qui funziona anche su firefox!
Non so...posta anche la form con i 2 tag e come viene chiamata la function
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

 Mahh :-)
Eh, è una delle grandi verità della vita, IMVHO...



e' TROPPO LUNGO IL CODICE!!!
come fare?? 

 come fare??
scrivi solo le parti interessati...1 form, 2 select e lo script non penso
sia lungo.
Se generi lato server posta la parte risultante html, ovviamente
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

[cut]
Ecco ho ridotto il codice all'essenziale, e l'ho provato sia su IE che su 
FireFox...
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
  <title>Modulo registrazione</title>
  <script language='JavaScript'>
        //
        // funzione che copia i valori della lista lstRegione in 
lstRegioneUniversita
        function copyRegione() {
           var regione = window.document.getElementById("lstRegione");
           var regioneUniversita = 
window.document.getElementById("lstRegioneUniversita");
           var indexSelected = 0;
           var valoreSel = 0;
           for (i = 0; i < regione.options.length; i++) {
                var opt = document.createElement("option");
                opt.value = regione.options[i].value;
                if (opt.value == valoreSel)
                   indexSelected = i; // ricorda l'indice
                opt.text = regione.options[i].text;
                regioneUniversita.add(opt);
           }
           regioneUniversita.selectedIndex = indexSelected;
        }
  </script>
<form method="post" action="registra.jsp" name="frmRegistra">
  <table style="border: medium  red; margin-left: auto; margin-right: auto; 
text-align: left; color: red;" border="0" cellpadding="1" cellspacing="0">
      <tr>
            <td valign=top>
                    <span style="font-size:16;font-family: book antiqua; 
color: rgb(0, 0, 255);">
                            Regione
                    </span>
            </td>
            <td valign=top>
                    <span style="font-family: book antiqua;">
                            <select 
style="width:208;color:darkred;border-style:groove;borderColor:116699" 
name="lstRegione" onchange='sendRequest()'>
                                <option value=0>Seleziona Regione</option>
                                            <option 
value=24>ABRUZZO&nbsp;(CH)&nbsp;</option>
                                            <option 
value=41>ABRUZZO&nbsp;(AQ)&nbsp;</option>
                                            <option 
value=66>ABRUZZO&nbsp;(PE)&nbsp;</option>
                                            <option 
value=88>ABRUZZO&nbsp;(TE)&nbsp;</option>
                                            <option 
value=71>BASILICATA&nbsp;(PZ)&nbsp;</option>
                                            <option 
value=52>BASILICATA&nbsp;(MT)&nbsp;</option>
                                            <option 
value=26>CALABRIA&nbsp;(CS)&nbsp;</option>
                                            <option 
value=28>CALABRIA&nbsp;(KR)&nbsp;</option>
                                            <option 
value=23>CALABRIA&nbsp;(CZ)&nbsp;</option>
                                            <option 
value=75>CALABRIA&nbsp;(RC)&nbsp;</option>
                                            <option 
value=101>CALABRIA&nbsp;(VV)&nbsp;</option>
                                            <option 
value=81>CAMPANIA&nbsp;(SA)&nbsp;</option>
                                            <option 
value=21>CAMPANIA&nbsp;(CE)&nbsp;</option>
                                            <option 
value=8>CAMPANIA&nbsp;(AV)&nbsp;</option>
                                            <option 
value=11>CAMPANIA&nbsp;(BN)&nbsp;</option>
                                            <option 
value=56>CAMPANIA&nbsp;(NA)&nbsp;</option>
                                            <option value=55>EMILIA 
ROMAGNA&nbsp;(MO)&nbsp;</option>
                                            <option value=67>EMILIA 
ROMAGNA&nbsp;(PC)&nbsp;</option>
                            </select>
                    </span>
            </td>
      </tr>
  </table>
  <center>
    <br>
    <table id='schedaUniversita' bordercolor='#116699' border=1 
cellspacing=0 cellpadding=0
        ><tr><td>
    <table border=0>
        <tr>
            <td><span style="font-size:16;font-family: book antiqua; color: 
rgb(0, 0, 255);"><b>Regione sede</b></span></td>
            <td>
                <span style="font-family: book antiqua;">
                    <select 
style="width:208;color:darkred;border-style:groove;borderColor:116699" 
id='lstRegioneUniversita' name="lstRegioneUniversita" 
onchange='sendRequest()'></select>
            </td>
    </table>
     </td></tr>
    </table>
  </center>
  <script>copyRegione();</script>
  <br>
</form>
</body>
</html>

 FireFox...
Se scrivevi javascript: e vedevi l'errore era chiarissimo:
 - esiste lstRegione come name e non come ID; IE se non trova l'ID cerca di
tutto, anche con name e se non ricordo male addirittura sottoinsiemi della
parola, mentre i browser decenti, correttamente, cercano solo l'id =>
aggiungi al tag id='lstRegione' oltre al name
- una volta corretto questo compare un altro errore: dice che l'oggetto
NSIDOMHTMLSELECTelement.add non sta ricevendo abbastanza argomenti.
Cercando con google quanto sopra si trova la reference:
http://www.xulplanet.com/references/xpcomref/ifaces/nsIDOMHTMLSelectElement.html
Dove ti indica che ci va un secondo argomento (non so cosa sia perché non
ho il tempo di leggerlo; io ho messo un null e funziona con firefox ma non
più con IE. Leggiti la documentazione e vedi come risolvere).
-- 


 cosa c'è di non standard per cui su IE funziona e su FireFox no???
Quando io devo fare delle mere copie, faccio qualcosa del genere:
<select id="foo">
	<option value="1">aruki tsukarete  furidasu ame</option>
	<option value="2">tsukami soko neta  usagi o otte</option>
	<option value="3">anata no me wa  suki tooru</option>
	<option value="4">kurai  umi no soko de  iki o shite iru mizu</option>
	<option value="5">watashi o yonde  yonde  koko ni iru no yo</option>
	<option value="6">doko e ikeba  ikeba  mitasareru no?</option>
</select>
<select id="bar"></select>
<script type="text/javascript">							
	var oDolly=document.getElementById("foo").cloneNode(true),
		o=document.getElementById("bar"),
		p=o.parentNode;
 
	p.replaceChild(oDolly,o);
 
</script>
-- 
ZER0://coder.gfxer.web-designer/
~ La vita e' una tempesta, ma prenderla nel culo e' un lampo.
(B. Grillo)
on air ~ "YUKI - Home Sweet Home"

 aggiungi al tag id='lstRegione' oltre al name
Li ho corretti e ti ringrazio, ma continua a non funzionare!! 

 Li ho corretti e ti ringrazio, ma continua a non funzionare!!
Se usi il metodo add dell'oggetto option (anziché dell'oggetto select)
funziona correttamente con entrambi i browser:
http://www.criosoftware.it/AlterX.htm
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.

 -- 
Ok grazie!!!
funziona, effettivamente è un errore usare *add* della *select*!!
giustamente io devo inserire un oggetto *option*...
GRAZIE TANTE!

 		p=o.parentNode;
	oDolly.id=
o.id
;
-- 
ZER0://coder.gfxer.web-designer/
~ You don't have to be crazy to be a webmaster. But it helps.
