• ベストアンサー

textareaへの入力支援機能(ボタン)[Javascript]

textareaへの入力支援機能(ボタン)[Javascript] 他の方が質問されていた件への回答についてのですが、 http://okwave.jp/qa/q2097862.html ANo.3の方の回答を参考にブログにあるようなテキストエリアへの入力支援機能を作成しています。 javascriptはあまり詳しくないので、まず丸々コピーをして テストを行っていたのですが、FIREFOXだと正常に動きますが、 IEの場合、テキストを選択せずにボタンを押すとボタン内に直接タグが追加されてしまいます。 テキストを選択した状態ですと正常に動作するようです。 テキストを選択しなくてもタグが挿入されるか、テキストを選択していない場合はタグが挿入されないようにしたいのです。 色々いじってみたのですが、思うように動かすことができませんでした。。 詳しい方、対処方法がわかる方がいらっしゃったらぜひ教えていただけないでしょうか。 宜しくおねがいします。

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

  • ベストアンサー
  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.1

人様のscriptに手を加えてそっくり載せるのはなんですので、お手数ですが、 var str=document.selection.createRange().text; という行がありますので、その最後に if(str=='')return; を加えてください。function bold()とfunction italic()の2箇所です。 以下余計なお世話かも知れませんが、どうしても自分で開発したいのなら別として、単に「textareaへの入力支援機能」が欲しいのであれば、フリーのスクリプトが多数配布されていますよ。自分のサイトのtextareaを ちょっとしたHTMLエディタに変身できます。 CKEditor: http://ckeditor.com/demo FreeTextBox: http://freetextbox.com/demos/ その他いろいろ http://phpspot.org/blog/archives/2009/08/javascriptwysiw_1.html 本家はほとんど英語ですが、各エデイタ名で検索すれば、日本語の解説サイトも多数出るはずです。 ご参考までに;

wiko
質問者

お礼

ありがとうございました! 色々検索してはみたのですが、キーワード足らずか 思い通りのものを見つけることができず、OKWEBを利用させていただきました。 早速拝見させていただきます。 追加スクリプトもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 入力支援機能

    テキストエリア内で入力中にテキストエリアの外にあるボタンをクリックすると入力した文字が太字(strongタグを追加)になったり斜字体(iタグを追加)になったりする機能を見かけますがあれはJavascriptですか?どうやって書いているのか教えてください。お願いします。

  • ブログのタグ挿入の入力支援

    ブログの管理画面でよく見るタグ挿入の入力支援はJavaScriptでしょうか?どのようにプログラムされているのでしょうか?教えてください。Bボタンを押すと<b></b>が挿入される機能です。

  • textareaに画像を表示したい

    textareaの入力支援を作成しています。 PHPで画像のディレクトリを開き別窓などに一覧表示させ、 その画像をクリックでjQueryでテキストエリアへタグを挿入。 <textarea id="test"> あああ <img src="hoge.jpg"> いいい </textarea> ↑のようにIMGタグを挿入する状態までは実装させることが出来るのですが、 UI的に、このIMGタグを画像(サムネ)として表示させたいと考えています。 <textarea id="test"> あああ ■(←画像) いいい </textarea> テキストエリアを監視して置換するなど方法はありそうなのですが そもそもテキストエリア内で画像を表示させることができるのでしょうか? 何かいいアイディア、あるいはプラグイン等がありましたら教えてください。

  • <textarea>に入力した文章をtxtで保存。

    <form>の<textarea>に入力した文章をtxt形式に変換してデスクトップに保存する方法はあるでしょうか? テキストエリアに入力⇒リンクorボタンをクリックすれば、txt形式で保存またはダウンロードできるようなタグやJavascriptがあれば教えてほしいです。

    • ベストアンサー
    • HTML
  • 入力に応じて有効化をするJavaScript

    テキストボックスに1文字でも入力があった時のみラジオボタンを選択可能にし、テキストボックスに入力されるまではラジオボタンを無効化したいと思っています どのようにJavaScriptを書けばいいか全くわかりません お願いします

  • テキストをtextareaに自動的に入力させたい

    任意のボタン※をクリックすると、予め設定しておいたテキストをtextareaに自動的に入力されるようにしたい。 ※画像でもテキストでも何でもよいです。

  • textareaについて

    textareaのタグを使って現在下記のようなものを作ったとします。 この場合ファイルの文章中に記述していくため、項目が増えると HTML自体が長く、先が見にくいかたちになってしまいます。 そのため1000~4000の部分は別ファイルとして提供(この場合 テキスト形式でも、HTML形式でもいいですが) したいと思うのですが、そのようなことは可能でしょうか? textareaタグに限らなくても良いのですが、このような方法を ご存じの方は教えて下さい。 (出来るだけHTMLのタグの範囲がいいかな?) <textarea name="kiriban" rows="2" cols="50" wrap="off"> 4000 ××さん 3000 ●●さん 2000 △△さん 1000 ○○さん 500 □□さん </textarea>

    • ベストアンサー
    • HTML
  • <textarea>に横のスクロールをつけたいのですが,可能ですか?

    こんにちわ, 今HTMLを書いているのですが, <textarea></textarea> タグで,入力していくと縦のスクロールバーは自動的にできるのですが,横のスクロールとかをつける事は可能なのでしょうか。 ちなみにRows Colsオプションとかでも,javascript等を使用したり,他のタグで同様な事を実装できるならそれでもいいのですが,知っている方, よろしくおねがいします。

    • ベストアンサー
    • HTML
  • javascriptでtextareaに文字列を追加したい

    textareaの最後尾に文字列を追加したいです。 いろいろサイトを検索してみたのですが、解決できず困っています。  <form>中に<textarea>とボタンを設定しておきボタンを押すと  文字列を最後尾に追加する。 というのはありました。 私は、ボタンは無しで、画面を読み終わったタイミングで、textareaの最後尾に文字列を追加したいのです。 (仕様で、bodyタグにonloadを記述することは出来ません。) (またcgiでHTML記述を生成しています。) が、どこかのサイトにあった例を見ても、どのように自分のソースに 反映したらよいのか分からず・・・。 サイトにあった例を参考に、下記のように記述してみましたが駄目でした。 <textarea name="textArea_A"></textarea> <SCRIPT LANGUAGE="JavaScript"> <!-- var objTextarea = document.getElementsByName('textArea_A')[0]; objTextarea.value += "AAA"; //--> </SCRIPT> (これで、<textarea name="textArea_A">AAA</textarea> となってくれると良いのですが・・・。) トンチンカンな意味不明な点があるかも知れませんが、 どうか宜しくお願いいたします。

  • <textarea>で「入力内容が大きすぎます」というエラーがでる

    お問い合わせフォームcgiを作成中です。 テスト送信をしているのですが、テキストエリア(問い合わせ内容)の文字数でエラーがでます。約100文字打ち込んで送信ボタンを押すと 次ページで「”問い合わせ内容”の入力内容が大きすぎます」というエラーがでます。約20文字ではエラーはでません。 私は、問い合わせ内容に入力する文字数の制限はかけていないつもりなのですが。 実際のタグです。 お問い合わせ内容<textarea name="お問い合わせ内容"></textarea> CGIは、kent webさんのpostmail Ver: 4.11 をお借りしています。

    • ベストアンサー
    • HTML