Complice finalmente un progettino WEB che mi ha fatto dimenticare per un paio di settimane l'amatissimo
mapper di Biztalk e una stima dei tempi per realizzarlo decisamente larga, ho cominciato a fare qualche esperimento con
jQuery + ASP.NET..
Che dire.. la potenza di Jquery è veramente impressionante, Il numero di righe javascript si riduce, e la sintassi, per quanto all'inizio un pò ostica da scrivere, poi rende il codice molto più leggibile.
La web application che sto sviluppando ha il seguente vincolo funzionale: Ci sono n campi di ricerca/filtro obbligatori
che però potrebbero esser lasciati vuoti in funzione di un altro campo.
Per intenderci, avendo una situazione simile:
Se il campo "Nr. Sessione" viene valorizzato gli altri campi obbligatori come data e ora d'esecuzione possono anche
essere lasciati vuoti.
Avendo molti campi da disattivare tutti con i rispettivi validator control, il codice javascipt da scrivere
non sarebbe stato poco e quindi la mia soluzione è stata questa:
"Decorare" ogni campo che deve essere disabiliato e i corrispettivi Validators con degli attributi
alternative="true"
per i campi di testo e
alternativeVal="true" per i validatori:
Aggiungere la seguente funzione per intercettare il cambiamento del campo che guida il comportamento degli altri:
e aggiungere un'altra funzione che si occupi di disabilitare i controlli e i validatori in funzione del contenuto del campo guida:
La funzione ValidatorEnable fa parte della libreria javascipt di a ASP.NET, i suoi due argomenti sono lo <span> renderizzato sull'html da ASP.NET per ogni validator e un booleno che indica se accendere o spegnere la validazione.
Tutto questo funziona alla grande e senza troppo codice da scrivere. L'unica cosa che non mi piace molto è stato l'introdurre degli attributi fasulli ai controlli ASP.NET per ottenere una semplice selezione con jQuery di tutti gli elementi. Qualcuno ha idee alternative (e sicuramente migliori
) su come farlo?