プロが教える店舗&オフィスのセキュリティ対策術

textareaに複数行で入力した文字を改行したままで表示したいのですが
改行されずに表示されます。
改行したままで表示するのはどうすればいいでしょうか?

<HTML>
<HEAD>
<STYLE type="text/css">
<!--
INPUT {font-size: 12px;}
-->
</STYLE>
<SCRIPT language="JavaScript">
<!--
function check(){
var strName;
strName = document.nform.textN.value;
var test = document.getElementById("test");
test.innerHTML = strName;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM name="nform" >
<textarea cols="30" rows="10" name="textN"></textarea>
<input type="button" value=" 確認 " onClick="check()">
</FORM>
<DIV id="test" style="position:absolute;font-size:24px;">
</DIV>
</BODY>
</HTML>

A 回答 (3件)

function check(){


var strName;
strName = document.nform.textN.value;
var test = document.getElementById("test");
//一応タグを使えないように置き換える
strName = strName.split("<").join("&lt;");
strName = strName.split(">").join("&gt;");
//改行を改行タグに置き換える
strName = strName.split("\n").join("<br>");
test.innerHTML = strName;
}
    • good
    • 3
この回答へのお礼

回答ありがとうございます。
split、joinは初めて見ました。
\nを<br>に置き換えるのですね。
ちなみにreplaceでもできるのかと思って試しましたが、
1行目しかしてくれないのでwhileとか組み合わせればできそうですが、こちらの方が簡潔でわかりやすいですね。
ありがとうございました。

お礼日時:2007/11/02 10:31

<!DOCTYPE html


PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
input {
font-size: 12px;
}
#test{
position:absolute;
font-size:24px;
white-space:pre;
}
</style>
<script type="text/javascript">
function check(){
var strName;
strName = document.getElementById("textN").value;
var test = document.getElementById("test");
if (test.textContent){
test.textContent = strName;
}
else{
test.innerText = strName;
}
}

</script>
</head>
<body>
<!-- form要素を用いると,action属性やmethod属性を指定しなければならなくなるため削除-->
<p><textarea cols="30" rows="10" id="textN"></textarea></p>
<p><input type="button" value=" 確認 " onclick="check()" /></p>
<p id="test" >
</p>
</body>
</html>
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
試したところうまくいきました。ありがとうございます。
今回は、No2さんの方を利用させて頂きます。
ありがとうございました。

お礼日時:2007/11/02 10:34

<DIV id="test" style="position:absolute;font-size:24px;">


</DIV>


<PRE id="test" style="position:absolute;font-size:24px;">
</PRE>

にしてみてはどうでしょうか?
    • good
    • 0
この回答へのお礼

早速回答ありがとうございます。
ですが、変化なしです。ちなみにIE7です。

お礼日時:2007/11/01 17:59

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