• ベストアンサー

<textarea>の最後尾に追加した実体参照や数値参照が意図した通り表示されない

<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と同じ様に表示させたいのですが、 無理なのでしょうか? どうか宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

テキストエリアの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>

mamappi82
質問者

お礼

yambejp様 回答、ありがとうございます。<m(_ _)m> 分かりやすい例、ありがとうございます。 >テキストエリアのinnerHTMLはブラウザごとの癖がつよいので・・・ そうなのですね。 ありがとうございました。<m(_ _)m>

その他の回答 (2)

noname#84373
noname#84373
回答No.3

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

mamappi82
質問者

お礼

pipiさん、yambejpさん、 回答ありがとうございました。 いろいろな方法があるのですね。 勉強になりました。 ありがとうございました。<m(_ _)m>

mamappi82
質問者

補足

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

noname#84373
noname#84373
回答No.1

なんとなくこんなの書いてみたが、こんなのでいいのか俺が知りたい! <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();

mamappi82
質問者

お礼

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

関連するQ&A