codice:
<SCRIPT>
var vecchie = new Array();

function conta(s) {
	quante = 0;
	nuove = new Array();
	for (var i=0;i<s.length;i++) {
		if(s.options[i].selected) {
			quante++;
			nuove[i] = true;
		} else {
			nuove[i] = false;
		}
	} 
	if(quante != 3) {
		//alert("Seleziona 3 opzioni");
		for (var i=0;i<s.length;i++) {
			s.options[i].selected = vecchie[i];
		}
	} else {
		vecchie = nuove;
	}
}
</SCRIPT>

<select size="6" name="preferenza" multiple onchange="conta(this)">
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
   <option value="4">4</option>
   <option value="5">5</option>
   <option value="6">6</option>
</select>
Ciao