Guardate questa paginetta:
codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
	<head>
		<title>a</title>
		<meta name="vs_defaultClientScript" content="JavaScript">
		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
		<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
		<meta name="ProgId" content="VisualStudio.HTML">
		<meta name="Originator" content="Microsoft Visual Studio .NET 7.1">
		<script id="clientEventHandlersJS" language="javascript">
<!--

function window_onload() {
	if (document.all || document.getElementById) 
	{ 
		for (var i = 0; i < document.form1.length;i++) 
		{ 
			var tempobj = document.form1.elements[i]; 
			if(tempobj.attachEvent)
				tempobj.attachEvent("onchange", function(){prova(tempobj)} );
			else if(tempobj.addEventListener)
				tempobj.addEventListener("change", function(){prova(tempobj)}, false);
		} 
	}
	
}
function prova(v)
{
	alert(v.id );
}

//-->
		</script>
	</head>
	<body MS_POSITIONING="FlowLayout" language="javascript" onload="return window_onload()">
		<form id="form1" name="form1" language="javascript">
			<SELECT size=4 ID="SelectNome" NAME="Select1">
				<OPTION value="0">Stefano</OPTION>
				<OPTION value="1">Carlo</OPTION>
				<OPTION value="2">Nicola</OPTION>
				<OPTION value="3">Pietro</OPTION>
			</SELECT>
			<SELECT size=4 ID="SelectColori" NAME="Select1">
				<OPTION value="0">Rosso</OPTION>
				<OPTION value="1">Verde</OPTION>
				<OPTION value="2">Azzurro</OPTION>
				<OPTION value="3">Giallo</OPTION>
			</SELECT>
			
		</form>
	</body>
</html>
Dentro un form ho due select, SelectNome e SelectColori.
Nell'evento load della pagina, faccio la scansione di tutti gli elementi del form ed assegno ad ognuno, per l'evento onchange, la funzione prova, passandole come parametro il controllo stesso.
Adesso, quando cambio la selezione di un Select, ottengo come messaggio sempre SelectColori, cioè, ogni controllo, nell'evento change, passa l'ultimo controllo e non se stesso :master:

Mi potreste aiutare a capire dove sbaglio?