Passare un valore ad una funzione mediante questa sintassi:
codice:
// Controlla che i valori inseriti nel campo siano solo numerici
// Se è così ve li inserisce
var ctrlIsNumeric = function() {
var ret = stripNonNumeric(this.value);
if (ret != '') element('rg').value = ret;
} // ctrlIsNumeric()
// Gestione degli eventi del mouse (e non solo))
function gestoreEvento(id, evento, nomeFunzione) {
if (element(id).addEventListener) { // Mozilloidi
element(id).addEventListener(evento, nomeFunzione, false);
} else if (element(id).attachEvent) { // M$
element(id).attachEvent('on' + evento, nomeFunzione);
}
} // gestoreEvento()
window.onload = function() {
element('data-odierna').innerHTML = creaData();
if(document.getElementsByTagName && document.createElement) {
// Controlla che quanto digitato nel campo sia numerico
gestoreEvento('rg', 'keyup', ctrlIsNumeric);
}
} // onload()
questo il codice attuale e funziona, ma io vorrei poter dire al "sistema" su quale campo monitorare i caratteri immessi, magari mediante il passaggio del nome del campo da controllare.
Ho provato così: gestoreEvento('rg', 'keyup', ctrlIsNumeric('rg')); ma mi da giustamente errore.
Ho provato anche così:
codice:
// Gestione degli eventi del mouse (e non solo))
function gestoreEvento(id, evento, nomeFunzione) {
if (element(id).addEventListener) { // Mozilloidi
element(id).addEventListener(evento, nomeFunzione(id), false);
} else if (element(id).attachEvent) { // M$
element(id).attachEvent('on' + evento, nomeFunzione(id));
}
} // gestoreEvento()
In fondo ho pensato, l'id già glielo passo perché ripassarglielo? Ma per lo stesso motivo di prima non va.
Come posso fare per passare l'id del campo in modo da rendere generica la funzione ctrlIsNumeric() per qualsiasi campo?