C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: textareaの文字を次画面でそのまま表示させる方法


(過去ログ 28 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■13457 / inTopicNo.1)  textareaの文字を次画面でそのまま表示させる方法
  
□投稿者/ ryu (6回)-(2008/01/29(Tue) 20:53:51)

分類:[HTML/CSS] 

いつもお世話になっています。ryuです。

環境
OS:XP
ブラウザ:IE6

ASPで書いています。


内容

***************



***************

上記のような形でtextareaに記述した内容をPOSTを使って、次画面に送りました。
ちなみに、次画面は確認画面なので、編集はしません。
FORMで受け取って、それを表示させると、


*****************
あいう
*****************

と改行されずに表示します。


これを改行して表示する方法はあるのでしょうか?


無知で申し訳ありませんが、ご指導ご鞭撻いただけたら幸いです。
引用返信 編集キー/
■13461 / inTopicNo.2)  Re[1]: textareaの文字を次画面でそのまま表示させる方法
□投稿者/ やじゅ (68回)-(2008/01/29(Tue) 21:15:45)
やじゅ さんの Web サイト
No13457 (ryu さん) に返信
> 改行されずに表示します。
>
>これを改行して表示する方法はあるのでしょうか?
>

少しいじわるモードで(^^;
えっと、「textarea 改行」で検索してみてください。
そこには希望が見えてくると思います。
改行文字→<BR>

引用返信 編集キー/
■13462 / inTopicNo.3)  Re[1]: textareaの文字を次画面でそのまま表示させる方法
□投稿者/ 魔界の仮面弁士 (592回)-(2008/01/29(Tue) 21:27:07)
No13457 (ryu さん) に返信
> ASPで書いています。

具体的には、どのようなコードを書いているのでしょうか?


> これを改行して表示する方法はあるのでしょうか?
とりあえずのサンプル。(DOCTYPE 等の細かい部分は省略しています)
実験コードなので、「次画面」では無く「自分自身」に再送していますけど。


<form method="POST">
<p><input type="submit" value="送信"><%=Now%></p>
<p><textarea name="TEST" rows="10" cols="30"><%
  Response.Write Server.HTMLEncode(Request.Form("TEST"))
%></textarea></p>
<pre style="border: thin solid;
width: 100%;
white-space: pre-wrap;
word-wrap: break-word;
word-break: break-all;"><%
  Response.Write Server.HTMLEncode(Request.Form("TEST"))
%></pre>
</form>

引用返信 編集キー/
■13499 / inTopicNo.4)  Re[2]: textareaの文字を次画面でそのまま表示させる方法
□投稿者/ ryu (7回)-(2008/01/30(Wed) 13:16:08)
>やじゅ様
ご回答ありがとうございます。
検索してみてアレンジして実装してみたのですが、次画面にデータを移動するとうまくいかない状況です。
同じ画面ならできるのですが・・・・

>魔界の仮面弁士様
ご回答ありがとうございます。

実際のコードですが、少し略して書きますと


************ a.asp ************************
〜省略〜
<form method="POST" action="sendcon.asp" onSubmit="return chksendsubmit()" name="reportform">
〜省略〜
<tr>
<td><%= lbe_progress %>:</td>
<td align="left"><textarea cols="100" rows="20" name="progress" wrap="virtual" id="progress"></textarea></td>
</tr>
〜省略〜
*********************************************
************ b.asp ************************
〜省略〜
progress = Request.Form("progress")
〜省略〜
<form method="POST" action="send_com.asp" name="sendform">
〜省略〜

<tr>
<td><%= lbe_progress %></td>
<td align="left" id="progress" name="progress"><%= progress %></td>
</tr>

〜省略〜
</form>
〜省略〜
*********************************************

a.aspのtextareaに入力したデータを、b.aspの頭で呼び出し値を受け取って表示させたいのです。
しかしながら、改行されないというのが現在です。
やじゅ様の回答から、
JavaScriptを使って、a.aspで、入力し表示するのはうまくいくのですが、データをb.aspに持っていくとうまくいきません。


アドバイスがいただけたら幸いです。
引用返信 編集キー/
■13513 / inTopicNo.5)  Re[3]: textareaの文字を次画面でそのまま表示させる方法
□投稿者/ Mr.T (174回)-(2008/01/30(Wed) 15:44:54)
Mr.Tです、こんにちは。

ryuさんは、おそらく勘違いしてます。
wrapは、TextAreaの横幅に文字が達したときの自動改行のことを
いってます。

やじゅさんも、魔界の仮面弁士さんも、言いたいことは一緒なんです。

HTMLにべた打ちした場合、改行して書くには

<div>ここを<br>改行</div>

ですよね。
つまり、タグを書く必要がありますよね?

逆に、
<div>ここを
改行</div>

とベタ書きしたときは、どうやって表示されるかわかりますか?

ryuさんがb.aspに送っているのは、

ここを
改行

というデータであって、


ここを<br>
改行

というデータではないのです。
引用返信 編集キー/
■13517 / inTopicNo.6)  Re[4]: textareaの文字を次画面でそのまま表示させる方法
□投稿者/ ryu (8回)-(2008/01/30(Wed) 17:08:58)
Mr.T様

ご回答ありがとうございます。
ご丁寧な説明ありがとうございます。


一応先ほど自己解決しました。
私からの質問し方が悪かったせいで、私自身が混乱していたようです。

>ここを
>改行
>というデータであって、
>ここを<br>
>改行
>というデータではないのです。

これは理解しているのですが、<br>への変換の仕方がわからなかったんです。
そこでb画面で
<td align="left" id="progress" name="progress"><%= Replace(progress,vbCrLf,"<br>") %></td>
Replaceでやってみたところ、問題なくできました。


今回は、皆さんに稚拙な質問をしてすみませんでした。
ご迷惑をおかけしたことを深くお詫び申し上げます。
またご指導ご鞭撻いただければ幸いです。
解決済み
引用返信 編集キー/
■13550 / inTopicNo.7)  Re[5]: textareaの文字を次画面でそのまま表示させる方法
□投稿者/ 魔界の仮面弁士 (593回)-(2008/01/31(Thu) 09:42:32)
No13517 (ryu さん) に返信
> progress = Request.Form("progress")
> 〜省略〜
> <td align="left" id="progress" name="progress"><%= Replace(progress,vbCrLf,"<br>") %></td>
> Replaceでやってみたところ、問題なくできました。

コードの一部が省略されているため、正確な判断はできませんが、これだと問題があるように思えます。
下記のような場合に正しく処理できているか、もう一度確認してみてください。


(1) 『ボタンを作るには<input type=button>と書きます。』という文章が渡された場合に、
 タグが(HTMLのボタンではなく)タグのまま表示できていますか?

(2) 「タブ文字」「連続した空白」などが渡された場合、次画面での表示時に、
 それらの空白を維持して表示できていますか?
引用返信 編集キー/
■13554 / inTopicNo.8)  Re[6]: textareaの文字を次画面でそのまま表示させる方法
□投稿者/ Mr.T (177回)-(2008/01/31(Thu) 11:20:20)
Mr.Tです、こんにちは。

No13550 (魔界の仮面弁士 さん) に返信
> ■No13517 (ryu さん) に返信
>>progress = Request.Form("progress")
>>〜省略〜
>><td align="left" id="progress" name="progress"><%= Replace(progress,vbCrLf,"<br>") %></td>
>>Replaceでやってみたところ、問題なくできました。
>
> コードの一部が省略されているため、正確な判断はできませんが、これだと問題があるように思えます。
> 下記のような場合に正しく処理できているか、もう一度確認してみてください。
>
>
> (1) 『ボタンを作るには<input type=button>と書きます。』という文章が渡された場合に、
>  タグが(HTMLのボタンではなく)タグのまま表示できていますか?
>
> (2) 「タブ文字」「連続した空白」などが渡された場合、次画面での表示時に、
>  それらの空白を維持して表示できていますか?

追記として、魔界の仮面弁士さんが、最初に書いたサンプルをもう一度
見直してみたらよいと思います。
渡されたデータを表示する際に、Replaceでは処理していません。
それは、上記のようなケースに対応できないことに
なりかねないからです。


引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -