Newsgroup: it.comp.lang.javascript
Titolo: options.defaultSelected

Ciao a tutti
Ho una select fatta cosi:
<body id='corpo' onload="Sel_Mese()">
  <div class="Ricerca_Mesi">
    Seleziona Il Mese <select name="Mesi" id = "sel"
onchange="Passo_mese()"><option value="0">Gennaio</option>
                                          <option value="1">Febbraio</
option>
                                          <option value="2">Marzo</
option>
                                          <option value="3">Aprile</
option>
                                          <option value="4">Maggio</
option>
                                          <option value="5">Giugno</
option>
                                          <option value="6">Luglio</
option>
                                          <option value="7">Agosto</
option>
                                          <option value="8">Settembre</
option>
                                          <option value="9">Ottobre</
option>
                                          <option value="10">Novembre</
option>
                                          <option value="11">Dicembre</
option>
                      </select>
  </div>
  <div id="centro">
Volevo che al caricamento della pagina il select mi andasse di default
su un valore che le passo .
nello script che carico quando carico la pagina ho questo:
function Sel_Mese(){
  var mes = document.getElementById('sel').value
  var mesi_tot =
['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settempre','Ottobre','Novembre','Dicembre']
  var m_sel = mesi_tot[mes]
  alert('Il Mese di visualizzazione Messaggi è : ' + m_sel)
  alert('Se Vuoi Cambiare Mese Devi solo Selezionarlo a Inizio
Pagina')
  document.Mesi.options[1].defaultSelected
lui non mi setta al valore uno cioè Febbraio ma lo lascia sempre al
valore 0 cioè gennaio.
Mi date una dritta.
Saluti Luca

 valore 0 cioè gennaio.
e dove hai letto di tale proprietà? non esiste che io sappia ...
http://devedge-temp.mozilla.org/library/manuals/2000/javascript/1.3/reference/select.html#1193420
-- 
"Non sai che ci vuol scienza
 ci vuol costanza
 ad invecchiare senza maturità"
									    F.G.

Ciao e grazie per la risposta.
ho messo questo all'inizioo dello script:
document.Mesi.options[4].selected=true
ma non mi cambia nulla quando carica la pagina mi si mette sempre
sull'indice 0
Ciao Luca

 document.Mesi.options[4].selected=true
premesso che non ho letto lo script: hai letto il link che ti ho postato?
a) non devi riferirti alla singola option ma alla select b) selectedIndex
c) non è boolean, ma riceve come valore l'ordinale...
Vedo che esiste anche, per la singola option, selected e defaultSelected,
ma non le ho mai usate, non so se funzionano con IE.
Stai usando firefox? Hai visto cosa dice la console javascript?
-- 
"Io odio
 perché sfruttati si nasce magari ci si diventa
 però non lo si inventa"
									99

 
http://devedge-temp.mozilla.org/library/manuals/2000/javascript/1.3/reference/select.html#1193420
Su Netscape 4.x non esisteva infatti, così come non esisteva la
proprietà "value" per l'oggetto select, del resto. Ma da allora
ne è passata di acqua sotto i ponti.. :) Dovresti aggiornare la
suddetta reference, direi che è chiaramente datata. :)
-- 
~ Il tempo è quello che fai di lui.

Ciao ancora e grazie per la pazienza.
ho guardato la console degli errori di firefox e come errore mi da
questo:
document.Mesi has no properties
Ciao Luca

   document.Mesi.options[1].defaultSelected
In questo modo non hai combinato assolutamente nulla. In primo luogo,
defaultSelected è una proprietà, e quindi devi associargli un valore.
Seconda di poi, già che vai a recuperare un riferimento al tag "sel",
usando getElementById(), tanto vale che te lo salvi. E quindi, invece
di:
	var mes = document.getElementById('sel').value
avrai:
	var sel = document.getElementById("sel"), mes = sel.value;
Così dopo potrai fare:
	sel.options[1].defaultSelected = true;
Anche se è preferibile evitare questo approccio, dato che non tutti i
browser così facendo ti cambiano l'option selezionata.
Il modo migliore, è lavorare direttamente sul value della tua select:
	sel.value = "1"; 
oppure con il selectedIndex:
	sel.selectedIndex = 1;
Nel primo caso, imposti come option selezionata quella avente "value"
pari a "1"; mentre nel secondo imposti come option selezionata quella
che si trova al secondo posto (dato che l'indice parte da zero).
Nel tuo caso, valore e posizionamento coincidono, ma non confonderti.
Un esempio più generico che magari ti aiuta a capire meglio:
	<!-- markup -->
	<select id="sel">
		<option value="A">JD</option>
		<option value="X">Turk</option>
		<option value="C">Cox</option>
	</option>
 
	/* script */
	var sel = document.getElementById("sel");
	sel.value = "X"; // seleziona la seconda option;
	sel.selectedInex = 1; // seleziona la seconda option;
-- 
~ "Solo i morti hanno visto la fine della guerra."
(Platone)