allora, mi sono reso conto di 2 cose:
Uno: gli oggetti form non hanno la funzione getElementsByName()...
Due: il reset ripristina gli elementi allo stadio iniziale, che avevano quando caricavi la pagina, quindi anche se esegui una funzione sull'evento onclick del reset, l'effetto viene vanificato dal reset stesso.
Quello che devi fare per far funzionare la cosa è:
codice:
function resetForm() {
var sel = document.getElementsByName('utente')[0]
sel.selectedIndex = -1;
return false;
}
ritornando false, blocchi l'esecuzione dell'evento default del pulsante (il click che causa il reset, insomma)
ed assegnare all'input la funzione:
<input type="reset" name="reset" value="Reset" onclick="return resetForm();"/>
in questo modo.
Il problema, così, è che il reset non viene eseguito, quindi dovresti aggiungere alla funzione una serie di istruzioni per azzerare anche gli altri elementi della form.
Io farei così: creerei una funzione per effettuare il reset e la assegnerei all'evento reset della form, in modo da poter controllare quello che succede.
io farei così:
codice:
function resetForm(form) {
var elms = form.elements;
for(i = 0; i < elms.length; i++)
{
switch(elms[i].tagName.toLowerCase())
{
case 'input':
switch(elms[i].type){
case 'text':
elms[i].value = '';
break;
case 'password':
elms[i].value = '';
break;
case 'checkbox':
elms[i].checked = false;
break;
case 'radio':
elms[i].checked = false;
break;
}
break;
case 'select':
elms[i].selectedIndex = -1;
break;
}
}
return false;
}
inoltre assegnerei la funzione così:
<form action="" method="post" onreset="return resetForm(this);">