martedì 30 gennaio 2007

Piccole funzioni utili in Javascript

Per quanto evoluto sia asp.net, con tutte le funzionalità che sono state aggiunte per rendere il più simile possibile lo sviluppo di applicazioni Web e applicazioni Windows, resta sempre un linguaggio di programmazione server-side che richiede quindi il postback della pagina affinchè ogni porzione di codice venga elaborata.

Per questioni diciamo "estetiche" o più spesso di maggiore fruibilità da parte degli utenti è spesso preferibile procedere alla maggior parte possibile di controlli relativi all'interfaccia grafica o all'input dell'utente attraverso linguaggi client-side tra i quali senza dubbio, Javascript regna sovrano.

Volevo qui presentarvi tre semplicissime porzioni di codice che tuttavia hanno il potere a mio avviso, di semplificare e migliorare la resa finale.

Il primo punto è dedicato alla funzione confirm, che produce un messagebox che, a differenza del ben noto alert richiede all'utente la scelta tra Si e No.
if (confirm('Vuoi veramente eliminare questa foto?')==true) {
  location.href = 'Pictures_Del.aspx?imgid=' + img_id;
}

Il secondo script verifica se, durante la digitazione sia stato premuto il tasto Invio eseguendo, in caso affermativo il codice desiderato (ad es. l'invio del form o il passaggio alla textbox successiva)

function CheckKey() {
   if (event.keyCode==13) {
   //esegui;
  }
}

Chiaramente la funzione CheckKey() va richiamata nell'evento onKeyUp di ogni textbox o altro controllo che vogliamo monitorare.

Come ultimo script inserisco il classicissimo window.open per l'apertura di una pagina in una nuova finestra del browser con proprietà e dimensioni customizzate. Può sembrare superfluo presentare per l'ennesima volta questo tipo di funzione ma in fondo Repetita iuvant e poi chissà, potrebbe comunque essere di aiuto a qualcuno:

function OpenNewWin(page, w, h) {
  myWin = window.open(page, 'myWin', 'scrollbars=yes, resizable=yes, width=' + w + ', height=' + h + ', status=no, location=no, toolbar=no');
}

Nessun commento: