電子書籍の厳選無料作品が豊富!

現在、登録フォームを作っているんですけども(mdbで保存してます)
その登録フォームの中には「登録」、「編集」の独立したプログラムを作りました。
登録した内容を「編集」で更新したりしてるんですけれども、「登録」で記入した内容に<br>が含まれている
と、編集フォームのテキストエリアの中にそのまま<br>が表示されてしまいます。
(mdbから読み込んでるので当たり前なのですが・・)

「登録」のページには下記の記述のように、<br>に変換するようにして、mdbに保存させているんですが
「編集」ではこの<br>を表示させたくないんです。そこをどう記述したらいいのかわかりません。<br>を表示させないようにして、手動で改行できるようにしたいのですがどうしたらいいのでしょうか・・・。

hp_comment = Replace(hp_com,Chr(13) & Chr(10),"<br>")& vbCrLf

ASPの掲示板で質問されていた内容なんですが回答もなく気になったので質問させていただきます。
どなたかご指導よろしくお願いいたします。

A 回答 (5件)

#1です。



変数「p_comment」を使用しているのは「登録」の方だったんですね。
「編集」のほうでは「p_comment」を使っていないのなら、確かに#3で回答した方法ではダメです(汗)

Response.Write "<textarea name='textname'cols=35 rows=3 wrap=hard>" & Replace(rs.Fields.Item("hp_comment"),"<BR>",Chr(13) & Chr(10)) & "</textarea>"

上記の方法になると思います。フィールド「hp_comment」の内容を、BRタグを改行文字に置き換えてテキストエリアに表示します。

今度こそ上手く行きますように(-人-)

この回答への補足

ああ…!有り難うございます(涙)これで<br>が表示されなくなりました。

編集フォームの<br>の表示はこれで完了したのですが、編集し終わったあとに「表示」ページを見ると
改行がされてませんでした(汗)
これは<br>に戻さないといけない、ということでしょうか?

補足日時:2004/10/18 09:31
    • good
    • 0

#1です。



>編集フォームの<br>の表示はこれで完了したのですが、編集し終わったあとに「表示」ページを見ると
>改行がされてませんでした(汗)
>これは<br>に戻さないといけない、ということでしょうか?

改行文字の使い分けは、下記のようになります。
・通常のHTML画面上での改行…BRタグ
・テキストエリア内での改行…Chr(13)&Chr(10)

なので、「表示」画面に表示する時点で、BRタグではなくなっているということですね。

「編集」のページの内容をmdbに更新するときに、「登録」ページで行っているのと同様にBRタグに変換する処理を入れるとよいと思います。
    • good
    • 0
この回答へのお礼

いろいろとおしえていただいてありがとうございました!
もっと頑張って勉強していきます!

お礼日時:2004/10/18 22:23

#1です。

たびたび失礼いたします。

>Response.Write "<textarea name='textname'cols=35 rows=3 wrap=hard>" & rs.Fields.Item("hp_comment") & "</textarea>"

こちらを見ますと、現状では、テキストエリアにはレコードセットの「hp_comment」というアイテムを表示しているようですね。

>こちらは、mdbには"comment"とテーブルに書いてるのですが変数でp_commentとしているので、これはp_commentでいいということでしょうか…。

とのことなので、BRタグを含んでしまっている文字列は変数p_commentに格納されているということですね。

そうしましたら、下記の方法が良いかと思います。

Response.Write "<textarea name='textname'cols=35 rows=3 wrap=hard>" & Replace(p_comment,"<BR>",Chr(13) & Chr(10)) ,& "</textarea>"

レコードセット内の「hp_comment」を表示させる代わりに、変数「p_comment」を、BRタグを改行文字に置き換えたうえで表示させます。


#1では、テキストエリアに表示させる文字列は一度変数にセットしているとの思い込みでソースを提示してしまい、混乱させてしまったようですみません。上記の方法でうまくいくとよいのですが。

この回答への補足

作っている機能は編集フォームのほかに登録フォームと
その登録したものを反映させる表示ページがあるんですが
登録フォームでは、テキストエリアに

p_comment=Replace(p_comment,Chr(13) & Chr(10), "<BR>")

と、設定をしました。これで表示ページで改行のところはうまく行っています。
登録のところでp_commentを使っているので、編集のところもp_commentは間違いないと思います。

補足日時:2004/10/15 15:30
    • good
    • 0
この回答へのお礼

turtlemachさん、ご丁寧に有り難うございます。

…また質問です(汗)

'Response.Write "<textarea name='TA1'cols=35 rows=3 wrap=soft>"& rs.Fields.Item("hp_comment") &"</textarea>"

編集フォームなので、上記↑↑のようにフィールドで一度記録したものを呼び出しているんです。が、turtlemachに教えていただいた
もの↓↓

Response.Write "<textarea name='textname'cols=35 rows=3 wrap=hard>" & Replace(p_comment,"<BR>",Chr(13) & Chr(10)) ,& "</textarea>"

で記述すると、読み込みができないのですが、読み込み方法はどのようにしたらよろしいのでしょうか。
ご迷惑おかけいたしておりますが、よろしくお願いしたします。。。

お礼日時:2004/10/15 15:22

#1です。


今さらかもしれませんが、確認させていただけますでしょうか。

>str = Replace(txt,"<BR>",Chr(13) & Chr(10))
>でやってみたのですが、テキストエリアの中は何も
>かわりませんでした・・・。

上記の「str」はテキストエリア内で表示させる文字列、「txt」はmdbに格納されている文字列の変数に書き換えて使用されましたでしょうか?

この回答への補足

Response.Write "<textarea name='textname'cols=35 rows=3 wrap=hard>" & rs.Fields.Item("hp_comment") & "</textarea>"

テキストエリアはこんな感じで設定しています。

補足日時:2004/10/14 14:06
    • good
    • 0
この回答へのお礼

ご丁寧に有り難うございます。

>「str」はテキストエリア内で表示させる文字列

ということですが、テキストエリア内で表示させる文字列とはどういうことでしょうか・・。
すいません、こんな質問してしまって。
テキストエリアに指定している"名前"ではないですよね(^^;)

>「txt」はmdbに格納されている文字列の変数に書き換えて使用されましたでしょうか?

こちらは、mdbには"comment"とテーブルに書いてるのですが変数でp_commentとしているので、これはp_commentでいいということでしょうか…。

わかりにくくて申し訳ございません。

お礼日時:2004/10/14 13:43

>hp_comment = Replace(hp_com,Chr(13) & Chr(10),"<br>")& vbCrLf


「登録」時には上記のように、改行文字をBRタグに変換しているわけですから、

「編集」のほうでは反対に、BRタグを改行文字に変換すればよいのではないでしょうか?
str = Replace(txt,"<BR>",Chr(13) & Chr(10))


…できれば、「登録」時は変換をかけずにそのままmdbに登録し、表示するときにのみBRタグへ変換するほうがスマートかな、と思います。
    • good
    • 0
この回答へのお礼

早速のご回答有り難うございます。

str = Replace(txt,"<BR>",Chr(13) & Chr(10))
でやってみたのですが、テキストエリアの中は何も
かわりませんでした・・・。

お礼日時:2004/10/13 15:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!