| Passo 13: modifica testo |
|
|
| Articoli tecnici - Sviluppo & sistema | |||
| Scritto da Riccardo Zorn | |||
| Sabato 28 Marzo 2009 22:19 | |||
|
Aggiungiamo un protototipo delle funzioni per gestire input. Visto che le funzioni che avranno bisogno di richiedere input variano, realizziamo un sistema a campi dinamici: ovvero in fase di inizializzazione voglio definire nomi e descrizioni dei campi; e visualizzare la richiesta con la message box.
Prima di tutto creo un oggetto "_field" che contiene le proprietà: function _field(fieldDesc, fieldName, fieldDefaultValue) Non sono sicuro che venga passato un valore di default; quindi per evitare che venga visualizzato "undefined" nel campo, potrei verificare (arguments.length>2) prima di effettuare l'assegnazione; ma così è molto più sintetico: se fieldDefaultValue non è valorizzato (=undefined) restituirà falso e quindi verrà scelto il valore dopo l'OR logico ( || ) this.defaultValue=fieldDefaultValue||"" Quindi nella messageBox avrò la nuova proprietà Fields, un array di _field ed un paio di funzioni per aggiungere ed eliminare i campi: _msgBox.prototype.addField = function (fieldDesc, fieldName, fieldDefaultValue) Infine, la funzione per riportare il valore dall'input all'array di campi: _msgBox.prototype.editField = function(FieldId, InputID) Ed ora un paio di abbellimenti: coloriamo il box che ha il focus con la funzione selectField e deleselezioniamo tutti gli altri con unselectAllFields. I dettagli li potete guardare nel codice, si tratta semplicemente di applicare uno stile:
Ora mettiamo tutto insieme: il metodo getFieldsHTML() disegnerà una serie di input grossomodo così: <INPUT type=text class='input' id='field_0_email' value=' Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo. ' La funzione che effettua tutto il disegno si avvale di un po' di variabili per semplificare la lettura. Purtroppo il codice per comporre html è spesso difficile da leggere, vediamo di ridurre il mal di testa: _msgBox.prototype.getFieldsHTML = function () Nelle prossime puntate vedremo di rendere più potente questa funzione, fornendo sia tastiere dedicate per modificare i testi con touchscreen oppure con il mouse; e aggiungeremo la validazione essenziale dei campi. I file descritti in questo articolo si possono scaricare dall'introduzione
|
|||
| Ultimo aggiornamento Sabato 28 Marzo 2009 21:23 |


