$.fn.svuota!
Questo blog si riempie poco, ma quel poco spero che sia utile!
E quindi, come da tradizione, ecco un’altra utilità partorita dal mio cervelletto
$.fn.svuota = function() {
for(var i = 0; i < this.length; i++) {
var value = $(this[i]).val();
var p = i - 1;
var valuep = $(this[p]).val();
if (value.length != $(this[i]).attr('maxlength') ||
(i != 0 && valuep.length != $(this[p]).attr('maxlength'))) {
$(this[i]).val('');
}
}
}
Se conoscete jquery, avrete capito facilmente cosa fa questo pezzo di codice. In pratica richiamando la funzione con $(’.classe’).svuota() potrete svuotare uno o più input in base alle seguenti condizioni:
1 – se il numero di caratteri inseriti non è uguale alla maxlength
2 – se uno dei precedenti elementi della classe comune non ha raggiunto la maxlength (ovviamente non si applica al primo elemento, visto che non ha elementi precedenti di confronto!)
Ovviamente si può usare invece di una classe il nome di un tag con o senza selettori. Nessuno vi vieta di usare anche gli id, ma forse non avrebbe molto senso!
A cosa può servire? Beh a me serve per fare un controllo su 4 blocchi in cui l’operatore deve inserire un codice fiscale a pezzi. Se il primo elemento è completo faccio partire una submit, al completamento della seconda faccio partire un’altra submit che migliora la ricerca, etc..
Può però accadere che si prema il tasto cerca prima che i campi siano completi o dopo aver riempito due campi non consecutivi o aver lasciato il primo campo vuoto e magari gli altri pieni. Con questa funzione, associata al plugin autotab, ho tutto l’occorrente per forzare l’operatore a riempire in ordine gli elementi senza rischiare di sovraccaricare il database con ricerche mostruose!
P.S. Prima di fare qualsiasi domanda, andate a vedere cosa è Jquery, io vi dico solo che è un framework per scrivere con eleganza del javascript, ed è utilizzato sia da Drupal che da Wordpress!
Ah, per favore non venite qui solo per dirmi che fa schifo come ho scritto il codice, mi stupirei del contrario! Piuttosto suggerimenti e miglioramenti sono sempre ben accetti! Ah, lo script è molto banale, ma ad ogni modo il codice è rilasciato con licenza GPL
Posted on marzo 8th, 2009 di alkcxy
Filed under: drupal, jquery, wordpress | No Comments »