Mi sto scoppiando la testa per il controllo dei campi perchè nel campo "matricola" è solo numerico e funziona perfettamente, poi nei campi "nome" e "cognome" sono non numerici, quando digito i numeri nel campo "nome" e funziona perfettamente, e invece nel campo "cognome" non funziona, proseguendo lo stesso senza accorgere che nel campo "cognome" è stato inserito i numeri.... Come faccio?
codice:
function Controlla() {
// Variabili associate ai campi del modulo
var matricola = document.form1.matr.value;
var cognome = document.form1.cognome.value;
var nome = document.form1.nome.value;
var alfabeto = document.form1.nome.value; document.form1.cognome.value;
var lgt=alfabeto.length;
var pos=lgt-1;
var lastchr=alfabeto.charAt(pos);
//Effettua il controllo sul campo NOME
if ((nome == "") || (nome == "undefined")) {
alert("Il campo Nome è obbligatorio.");
document.form1.nome.focus();
return false;
}
//Effettua il controllo sul campo COGNOME
else if ((cognome == "") || (cognome == "undefined")) {
alert("Il campo Cognome è obbligatorio.");
document.form1.cognome.focus();
return false;
}
//Effettua il controllo sul campo MATRICOLA
if ((isNaN(matricola)) || (matricola == "") || (matricola == "undefined")) {
window.alert("Il campo Matricola deve essere numerico ed anche obbligatorio.");
document.form1.matr.value = "";
document.form1.matr.focus();
return false;
} else {
if ((lastchr=="0")||(lastchr=="1")||(lastchr=="2")||(lastchr=="3")||(lastchr=="4")||(lastchr=="5")||(lastchr=="6")||(lastchr=="7")||(lastchr=="8")||(lastchr=="9"))
{
window.alert("Non si possono inserire valori numerici");
//var ntext=alfabeto.slice(0,pos);
document.form1.cognome.value = "";
document.form1.nome.value = "";
//alfabeto.value=ntext;
//next.value = "";
return false;
}
}
//INVIA IL MODULO
if(confirm('Sicuro di assegnare?'))document.form1.submit();
}
poi secondo me riguarda su questa linea:
codice:
[b]var alfabeto = document.form1.nome.value || document.form1.cognnome.value; [b/]
non funziona
codice:
[b]var alfabeto = document.form1.nome.value && document.form1.cognnome.value; [b/]
fa il contrario che controlla al cognome invece al nome non controlla per niente...
Grazie