Originariamente inviato da wampy
Ho trovato questo script per evitare che nei campi di un form vengano inseriti caratteri speciali o parole accentate.

Eccolo:

chrOk = "\"'*&ç€"
function CheckL(login,pwd,pwd1) {

o = login.value;
a = o.charAt(o.length-1);
if (chrOk.indexOf(a)!=-1) {
alert("Hai usato uno carattere non consentito che verrà automaticamente cancellato");
login.value=o.substr(0,o.length-1);
}
}

nei campi da controllare si scrive:

<input name="dato" type="text" onkeyup="CheckL(this)">

E funziona bene se non qualche inconveniente. Quando mi trovo con il cursore sul campo e clicco invio mi appare il messaggio di alert, lo stesso accade se seleziono quello ho scritto nel campo e clicco can dalla tastiera o se cancello tutto usando il tasto indietro della tastiera.
Qualcuno mi sa dire perchè e se si può evitare in qualche modo?

ciao
grazie

Prova con questa function:

function validaTestoStrict(obj) {
var Label=(arguments[1]?arguments[1]bj.name);
if (!obj.value.match(/^\w+$/g)){
msg='Il campo ' + Label + ' può contenere solo caratteri o cifre e non può essere vuoto\n';
msg+='Non sono ammessi spazi vuoti, punti o altri caratteri speciali.'
alert(msg);
obj.focus();
obj.select();
return false;
}
return true;
}

quando la chiami gli devi passare il campo su cui deve fare il controllo