Testo su nuova riga in textarea con ASP
In effetti se si scrive una frase in una area di testo e vediamo le parole andare a capo, nel momento in cui andiamo a visualizzare quello che abbiamo scritto, non c'è più la formattazione che avevamo nella textarea. Come risolvere il problema? Ho pensato ad una funzione stringa di ASP che ci aiuta a risolvere il quesito, la funzione Replace. A tal proposito ho preparato 2 pagine con estensione ".asp", precisamente: pagina1.asp e pagina2.asp.
Pagina1.asp non è altro che la pagina in cui inserire i dati (un campo in cui scrivere il nome ed una textarea in cui scrivere un messaggio). L'action del form invia i dati a pagina2.asp; questa, attraverso codice che adesso illustrerò, stampa a video quello che si è scritto nella pagina precedente e soprattutto, nella stessa maniera in cui abbiamo scritto nell'area di testo. Siamo andati 3 volte a capo? Apparirà, in pagina2.asp, il testo su 3 nuove righe. Ma andiamo con ordine. Cominciamo a vedere il codice della prima pagina. Come già scritto, pagina1.asp contiene solo il form:
<form name="form1" id="form1" method="post" action="pagina2.asp">
<p>Nome: <input name="nome" type="text" id="nome" size="40" /></p>
<p>Messaggio: <textarea name="messaggio" cols="40" rows="8" id="messaggio"></textarea></p>
<p><input type="submit" name="Submit" value="Invia" /></p>
</form>
Il codice della pagina2.asp, invece, sarà diviso in 2 parti: si istanzieranno 2 variabili nell' head della pagina e poi si scriverà il codice per far stampare a video il testo. Codice da scrivere nell' <head>:
<%
dim nome, messaggio
nome=Trim(Request.Form("nome"))
messaggio=Trim(Request.Form("messaggio"))
%>
nome e messaggio, sono i nomi che sono stati dati al campo di testo ed alla textarea; la funzione Trim elimina eventuali spazi lasciati a destra e sinistra dall'utente, quando ha scritto nei campi del modulo. Fatto questo, nel body della pagina avremo:
<p>Nome: <%=(nome)%></p>
<p>Messaggio: <%response.write replace(request.form("messaggio"),chr(13)&chr(10),"<br />")%></p>
Ecco che abbiamo utilizzato la funzione Replace!! Ancora una piccola cosa: Chr(13)& Chr(10) sono i due caratteri, VBScript, che rappresentano il tasto INVIO. Quando visualizzato nel browser, la funzione Replace, automaticamente, li trasforma tutti in <br />.
| < Prec. | Succ. > |
|---|

