Con questa funzione sarà possibile aggiungere al volo ad un form campi di tipo text o textarea con relativo controllo sul tipo dei caratteri ammessi nel campo durante la digitazione, facendo uso delle regular expression e dell'evento OnKeyUp di Javascript.
E' facilmente personalizzabile modificando semplicemente il blocco select interno alla funzione:
<% function abilita(nome,cosa,tipo,valore_iniz,classe) controllo=1 if isnumeric(cosa) then t=cosa else t=0 end if select case t' Controllo sul 2° parametro in ingresso alla funzione attraverso JavaScript case 1 espressione="this.value=this.value.replace(/[^a-zA-Z\s]/gi, '');" case 2 espressione="this.value=this.value.replace(/[\D]/gi, '');" case 3 espressione="this.value=this.value.replace(/[^a-zA-Z\d]/gi, '');" case 4 espressione="this.value=this.value.replace(/[^a-zA-Z\'_\-\.\@\d]/gi, '');" case 5 espressione="this.value=this.value.replace(/[^a-zA-Z\:\/\.\_\-\d]/gi, '');" case 0 controllo=0 end select if controllo=1 then eventi="onkeyup="""&espressione&"""" else ' campo libero eventi="" end if if len(classe)>0 then cl="class="""&classe&"""" end if if len(valore_iniz)>0 then vi="value="""&valore_iniz&"""" end if if lcase(tipo)="textarea" then abilita="<textarea "&cl&" name="&nome&" "&eventi&">"&valore_iniz&"</textarea>" else abilita="<input "&cl&" type=TEXT "&vi&" name="&nome&" "&eventi&">" end if end function %>
Ecco la lista delle opzioni accettate dal parametro cosa:
1 - solo lettere + spazi
2 - solo numeri senza spazi
3 - solo lettere e numeri senza spazi
4 - email
5 - URL (no querystring)
0 - nessun controllo
Nel parametro nome dovremo indicare il nome del campo, in quello tipo text o textarea (a seconda del tipo di campo da visualizzare), in valore_iniz il valore iniziale del campo stesso ed infine in classe lo stile da applicare.
Supponiamo di avere un form per la registrazione ad una community, includendo la nella pagina del form questa funzione ci basterà scrivere:
<form method=post> <%=abilita("nome",1,"text","","")%>nome<br> <%=abilita("cognome",1,"text","","")%>cognome<br> <%=abilita("nick",3,"text","","")%>Nick<br> <%=abilita("pwd",3,"text","","")%>Password<br> <%=abilita("email",4,"text","","")%>email<br> <%=abilita("tel",2,"text","","")%>n°tel<br> <%=abilita("url",5,"text","http://","")%>sito web<br> <%=abilita("firma",0,"textarea","","")%>Firma nei messaggi<br> <input type=submit value="registra"> </form>
Automaticamente sarà generato il codice Javascript ed i campi, con controllo sull'input dell'utente.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.