gototopgototop
 
Sei in: Home Page Articoli ASP Testo su nuova riga in textarea con ASP

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 />.

© www.extrowebsite.com - Grafica, layout, articoli e guide sono di esclusiva proprietà del webmaster - Tutti i diritti riservati