scusa te... ma ogni tanto devo anche lavorere
praticamente se è selezionato dipendente bisogna controllare che ci sia (e sia numerica) la matricola... altrimenti la matricola non deve essere inserita. Giusto?
Se è così potresti abilare o meno il text a seconda della selezione agendo sull'onchange della select
codice:
<select name="tipologia" id="tipologia" onchange="if(this.selectedIndex==0){this.form.matricola.disabled=false}else{this.form.matricola.value='';this.form.matricola.disabled=true}">
e la funzione Controlla così
codice:
function Controlla() {
// Variabili associate ai campi del modulo
var matricola = document.insert.matricola.value;
var cognome = document.insert.cognome.value;
var nome = document.insert.nome.value
//Effettua il controllo sul campo NOME
if ((nome == "") || (nome == "undefined")) {
alert("Il campo Nome è obbligatorio.");
document.insert.nome.focus();
return false;
}
//Effettua il controllo sul campo COGNOME
else if ((cognome == "") || (cognome == "undefined")) {
alert("Il campo Cognome è obbligatorio.");
document.insert.cognome.focus();
return false;
}
//Effettua il controllo sul campo MATRICOLA
else if ((document.insert.tipologia.selectedIndex==0)) {
if ((isNaN(matricola)) || (matricola == "") || (matricola == "undefined")) {
alert("Il campo Matricola numerico ed obbligatorio.");
document.insert.matricola.value = "";
document.insert.matricola.focus();
return false;
}
}
//INVIA IL MODULO
if(confirm('Sicuro di assegnare?'))document.insert.submit();
}
io ho usato il selectedIndex che indica quale indice delle option è stato selezionato (Dipendente è l'indice 0)
per sapere il valore della option selezionata puoi usare questa sintassi
codice:
document.NomeForm.NomeSelect.options[document.NomeForm.NomeSelect.selectedIndex].value