Newsgroup: it.comp.lang.javascript
Titolo: Chi controlla i controllori?

Passo un elemento di una form ad un funzione
function pippo (miocontrollo).
Voglio sapere se è un select. Ho provato con miocontrollo.type ma mi da
undefined.
Saluti.
Luciano

 undefined.
Ho risolto con document.getElementById(controllo).type
Ora, sul focus voglio cambiare classe al controllo. Su FF tutto bene, IE
invece cambbioa classe alla select ma non alla tendina, quindi pensavo di
ciclare sugli elementi e cambiare classe a loro.
for (i=0; i<document.getElementById(controllo).length; i++)
   document.getElementById(controllo).????? qui non so cosa mettere???
 }
Saluti.
Luciano

  }
	var opts = document.getElementById(controllo).options;
	for (var i=0;i<opts.length;i++)
		opts[i].className = "myclass";
Questo per darti uno scheletro sul come si può operare con le option,
ma ricordati quanto ti ho detto poc'anzi. Molte cose non puoi farle.
-- 
~ Chi segue gli altri, non arriva mai primo.

 Evidentemente, allora, passavi l'id e non il riferimento all'oggetto.
sarň anche ubriaco, ma voglio vederlo a beccare una select con l'attributo
type ...
-- 
"e mai che mi sia venuto in mente
 di essere piů ubriaco di voi
 di essere molto piů ubriaco di voi"
									  F.D.A.

 type ...
In che senso? Non è che usa il valore dell'attributo type per beccare
la select, utilizza il suo ID.
-- 
~ "Un uomo è più 'grande' di un altro solo se sale sulle sue spalle."
(Bertold Brecht)

 type ...
Con IE va, FF no.
Saluti.
Luciano

 la select, utilizza il suo ID.
sě, ma la domanda era: "Voglio sapere se č un select. Ho provato con
miocontrollo.type".
Come fai a capire in questo modo che č una select? dato che ha scritto che
ha risolto usando il type con l'id del controllo ero curioso...
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

 Con IE va, FF no.
cioé ti risponde "select"? cosa hai scritto, <select
type="select">..</select> ?
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.

 opts[i].className = "myclass";
Non va. Thanks anyway.
Saluti.
Luciano

 Non va. 
"Non va" non vuol dire nulla. Quello è un modo con cui ciclare le
option, e "va" per forza. Se per "non va", significa che lo stile
non viene cambiato, è perché - come ti ho detto - sulle option si
ha parecchie limitazioni in tal senso. E solo pochi attributi CSS
possono essere applicati.


 ha risolto usando il type con l'id del controllo ero curioso...
In tal caso, si, eri ubriaco :P Avevo mal interpretato il tuo
post. La proprietà "type" nelle select è anche molto utile, e
descrittiva.
Dai un'occhiata all'interfaccia HTMLSelectElement:
http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-94282980
-- 
~ "Accadono cose che sono come domande.
Passa un minuto, oppure anni e poi la vita risponde." (A. Baricco)

 type="select">..</select> ?
<select onfocus="miafunzione(
this.name
);"></select>
miafunzione(controllo){
alert (document.getElementById(controllo).type)
}
restituisce "select-one"
Saluti.
Luciano

 
http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-94282980
letto ... non lo sapevo. può essere interessante.
Ma ie cosa combina a riguardo?
-- 
"e mai che mi sia venuto in mente
 di essere più ubriaco di voi
 di essere molto più ubriaco di voi"
									  F.D.A.

 Ma ie cosa combina a riguardo?
A riguardo, IE funziona bene. Il mio "Nonostante la Microsoft cerchi
di convincerci del contrario" era più generico. Ovvero, in IE il tag
e l'oggetto JScript che lo rappresenta, si "sovrappongono". Ma non è
così che dovrebbe essere. Immagino tu già lo sappia, ma nel dubbio:
<script type="text/javascript">
	window.onload=function(){
		var o = document.getElementById("xx");
		o.myCustomValue = "Hiroshi Shiba";
		o.setAttribute("attr","Kotetsu Jeeg");
 
		alert(o.parentNode.innerHTML);
 
		for (var i in {"myCustomValue":1,"attr":1})
 
alert("object."+i+"="+o[i]+"\r\nobject.getAttribute('"+i+"')="+o.getAttribute(i))
 
	}
</script>
<body>
	<select id="xx">
		<option></option>
	</select>
</body>
Fallo girare sia su IE che FF.
-- 
~ Tutti quelli che credono nella psicocinesi,
per favore alzino la mia mano.