• ベストアンサー

テキストエリアのテキストを選択してソース追加するには

gooメールのHTMLメールように、テキストエリアのソースを選択して、ボタンをクリックするとソースが追加されるようにしたいと考えています。 できればボールドのボタンをクリックすると画面上でボールドがかかるようにしたいのですが、ハードルが高そうなので、テキストの前後にタグが入ればいいかなと考えています。 ソースを見たのですが、敷居が高くどこかにもっと簡単なサンプルはないでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

<script type="text/javascript"> <!-- function select(){ str=document.selection.createRange().text; alert(document.selection.createRange().text); document.selection.createRange().text="<b>" + str + "</b>"; } //--> </script> </head> <body> <textarea cols="40" rows="10"></textarea><br> <button type="button" value="選択" onclick="select()">選択</button> ----------------------- こんな感じでしょうか? しかしながら、テキストエリアってタグがまんま表示されると思うのですが。

umioyo
質問者

お礼

回答ありがとうございました。 考えていたものができました。 ありがとうございます。 >テキストエリアってタグがまんま表示されると思うのですが。 そうなんですよね。 回答までして頂いて大変失礼な話ですが、一度HTMLメールの作成画面を確認してみてください。 一応ソースを確認したのですが、textareaだと思います。

umioyo
質問者

補足

別なJavaScriptを探していたら偶然見つけました。 http://mugi.cc/js/hta/wysiwyg.htm どうもありがとうございました。

その他の回答 (2)

回答No.3

こんな感じですかね。 スクリプト function tag(TAG){ var ObjText = document.selection.createRange(); ObjText.text = '<' + TAG + '>' + ObjText.text + '</' + TAG + '>'; } ボタン <input type="button" value="B" onclick="tag('b')"> 非対応ブラウザへの配慮とか、エラー対応は省きました。

umioyo
質問者

お礼

ご回答頂き、ありがとうございます。 大変参考になりました。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

テキストエリアに入力されているものは何ですか? また、どこに、選択された物が追加されるのですか? あるいは、ボールドに表示される部分ってどこですか?

umioyo
質問者

補足

ご回答頂き、ありがとうございます。 テキストエリアには自分が入力するテキストが入ります。 追加するのは、選択したテキストの前後になります。 ボールドに表示されるのは、同じテキストエリア内です。 例えばテキストエリアに 「あいうえお」 と入力し、「いうえ」を選択して、アイコンなりをクリックすると、同じ画面上で 「あ<b>いうえ</b>お」 となります。 よろしくお願い致します。

関連するQ&A