アプリ版:「スタンプのみでお礼する」機能のリリースについて

<textarea>の最後尾に追加した実体参照や数値参照が意図した通り表示されません。
確認したこと(■1■)と、やりたい事(■2■)は、下記の通りです。

■1■ <textarea>~</textarea>の中に直接記述すると
   下記の例だと、 <とか> と、表示されます。

<textarea name="output" id="outputEdit" style="background-color:#99ff66" cols=80 rows=25>
&lt;とか&gt
</textarea>

■2■ javascriptで<textarea>の最後尾に追加する方法だと、
   下記の例だと、 &lt;&gt; と、表示されてしまいます。

<textarea name="output" id="outputEdit" style="background-color:#99ff66" cols=80 rows=25></textarea>
<script language="javascript">
<!--
var objTextarea = document.getElementById('outputEdit');
objTextarea.value+="&lt;&gt;";
//-->
</script>

2の記述で、1と同じ様に表示させたいのですが、
無理なのでしょうか?
どうか宜しくお願いいたします。

A 回答 (3件)

テキストエリアのinnerHTMLはブラウザごとの癖がつよいので


標準化はめんどそうですね。

単に置き換えればいいのでは?

<form method="get">
<textarea name="output" id="outputEdit" style="background-color:#99ff66" cols=80 rows=25>
&lt;&gt;
hoge
hoge
</textarea>
<input type="submit">
</form>
<script>
var objTextarea = document.getElementById('outputEdit');
objTextarea.value+=changeLTGT("なんか&lt;てきとうに&gt;かいてみる");
function changeLTGT($txt){
return $txt.replace("&lt;","<").replace("&gt;",">");
}
</script>
    • good
    • 0
この回答へのお礼

yambejp様
回答、ありがとうございます。<m(_ _)m>
分かりやすい例、ありがとうございます。

>テキストエリアのinnerHTMLはブラウザごとの癖がつよいので・・・
そうなのですね。

ありがとうございました。<m(_ _)m>

お礼日時:2008/12/11 09:33

1っす!


なんだか名前の命名がよくないね~。
unescapeHTMLにして使ってください。^^;

この回答への補足

了解しました。
ありがとうございます。

補足日時:2008/12/11 09:21
    • good
    • 0
この回答へのお礼

pipiさん、yambejpさん、
回答ありがとうございました。

いろいろな方法があるのですね。
勉強になりました。

ありがとうございました。<m(_ _)m>

お礼日時:2008/12/11 09:39

なんとなくこんなの書いてみたが、こんなのでいいのか俺が知りたい!



<textarea id="outputEdit"></textarea>

String.prototype.escapeHTML = function() {
var div = document.createElement('div'); div.innerHTML = this; return div.innerText;
}

document.getElementById('outputEdit').value += "&lt;とか&gt".escapeHTML();
    • good
    • 0
この回答へのお礼

pipi様
いつもありがとうございます<m(_ _)m>
試してみたら、意図したとおり、<とか> と出ました!!

ありがとうございました。

お礼日時:2008/12/11 08:48

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