dポイントプレゼントキャンペーン実施中!

テキストエリアにコメントを入力して、その内容をDBに保存し、別ページで表示させる入力ページの作成で、フォーム内に
・テキストエリアを設置
・その下に「プレビュー」ボタンを設置
・その下にプレビューが表示されるエリアを設置
・一番下にsubmitボタンを設置

test1.phpにて
<form name ="form1" method="post" action="test2.php">
<table>
<tr><td>
<text area name ="comment" id ="comment">
</textarea>
</td></tr>
<tr><td>
<a href="javascript:void(0);" onclick="preview_comment(); ">
<img src="preview.jpg">
</a>
</td></tr>
<tr><td>
<span id="preview_comment">
プレビュー
</span>
</td></tr>
</table>
<div><input type="submit" value ="submit"></div>
</form>


head部分に
<script language="JavaScript">
<!--
function preview_comment()
{var comment_details=document.getElementById("comment").value;
document.getElementById("preview_comment").innerHTML=comment_details;
}
//-->
</script>

を設置しました。
テキストエリアにコメントを入力し、改行がある場合はその改行コードを保持した状態がプレビューとして表示され、確認をしてOKだったらSubmit、という処理を考えているのですが、改行コードがなくなってしまいます。

改行コードを維持したままプレビューエリアにコメントを表示させることはできますでしょうか?
どこを修正すればいいか教えて下さい。

A 回答 (2件)

横からですが、



>上記ですと改行コードが入っていない状態とプレビュー表示が変わりません。
ブラウザによって改行コードが違うことがあるので、\nだけで判断するようにしてあげればよいのでは?

comment_details=comment_details.replace(/\n/g,"<br />").replace(/\r/g,"");
    • good
    • 1
この回答へのお礼

有り難うございます。
こちらの方法でうまくいきました。

普段Firefoxしか使用しないので、Firefoxで試していましたが、No.1の方法でIEでは動作していたようです。
ブラウザによる改行コードの違い・・気づきませんでした。

助かりました。有り難うございます。

お礼日時:2011/02/10 17:19

comment_details=comment_details.replace(/\r\n/g,"<br />");


を追記すればいいわ。
    • good
    • 0
この回答へのお礼

早速のお返事有り難うございます。

追記後
<script language="JavaScript">
<!--
function preview_comment()
{var comment_details=document.getElementById("comment").value;
comment_details=comment_details.replace(/\r\n/g,"<br />");
document.getElementById("preview_comment").innerHTML=comment_details;
}
//-->
</script>

だと思うのですが、上記ですと改行コードが入っていない状態とプレビュー表示が変わりません。
追記場所が違いますでしょうか・・?

お礼日時:2011/02/10 16:22

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