- ベストアンサー
テキストエリアのテキストを選択してソース追加するには
gooメールのHTMLメールように、テキストエリアのソースを選択して、ボタンをクリックするとソースが追加されるようにしたいと考えています。 できればボールドのボタンをクリックすると画面上でボールドがかかるようにしたいのですが、ハードルが高そうなので、テキストの前後にタグが入ればいいかなと考えています。 ソースを見たのですが、敷居が高くどこかにもっと簡単なサンプルはないでしょうか。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
<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> ----------------------- こんな感じでしょうか? しかしながら、テキストエリアってタグがまんま表示されると思うのですが。
その他の回答 (2)
- flowermaze
- ベストアンサー率56% (159/282)
こんな感じですかね。 スクリプト function tag(TAG){ var ObjText = document.selection.createRange(); ObjText.text = '<' + TAG + '>' + ObjText.text + '</' + TAG + '>'; } ボタン <input type="button" value="B" onclick="tag('b')"> 非対応ブラウザへの配慮とか、エラー対応は省きました。
お礼
ご回答頂き、ありがとうございます。 大変参考になりました。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
テキストエリアに入力されているものは何ですか? また、どこに、選択された物が追加されるのですか? あるいは、ボールドに表示される部分ってどこですか?
補足
ご回答頂き、ありがとうございます。 テキストエリアには自分が入力するテキストが入ります。 追加するのは、選択したテキストの前後になります。 ボールドに表示されるのは、同じテキストエリア内です。 例えばテキストエリアに 「あいうえお」 と入力し、「いうえ」を選択して、アイコンなりをクリックすると、同じ画面上で 「あ<b>いうえ</b>お」 となります。 よろしくお願い致します。
お礼
回答ありがとうございました。 考えていたものができました。 ありがとうございます。 >テキストエリアってタグがまんま表示されると思うのですが。 そうなんですよね。 回答までして頂いて大変失礼な話ですが、一度HTMLメールの作成画面を確認してみてください。 一応ソースを確認したのですが、textareaだと思います。
補足
別なJavaScriptを探していたら偶然見つけました。 http://mugi.cc/js/hta/wysiwyg.htm どうもありがとうございました。