javascriptでテキストエリア内にテキスト挿入

| コメント(2) | トラックバック(0)
これに関していいものはないかと探していたら、素晴らしいスクリプトを
見つけた。
とても便利なのでかなりブックマークされてるようだ。

→ http://painter.mypets.ws/~raelian/tag/enclose.html

ボタンを押すだけで、テキストエリアのカーソルの位置に任意の文字が、ポンと
挿入できるスグレモノ。


さっそくMIlkyStepにも取り入れようということで・・・イタダキ。

基本的にHTMLタグとかスタイルシートとか編集する目的なので、文字をドラッグして
反転した場合は、実行すると、選択した文字列の前後でタグで挟むような仕様に
なっている。

これを、選択した文字を残さずに、挿入文字にそのまま置き換えるには、
「textarea.js」61行目あたりの、

el.value=click_s + s + click_m + e + click_e; を、
     ↓
el.value=click_s + s + e + click_e;

とすることで対応可能。


また、タグで挟むんじゃなくて、ただ単にある文字だけを挿入したい場合、
ボタンの要素指定時に、

<input type='button name='insbtn' value='挿入' onclick=\"enclose('hogehoge','');return false;\">

などとして、関数に渡す第2引数を空にしてやればOK。

第2引数を指定しないと、undefinedが返されるので注意。

トラックバック(0)

トラックバックURL: http://www.igreks.jp/blog/mt-tb.cgi/330

コメント(2)

はじめまして、horiiと申します。
私もぜひ「テキストエリア内にテキスト挿入」を参考にさせていただきたいのですが、
上記URL(http://painter.mypets.ws/~raelian/tag/enclose.html)にアクセスしても、「Internet Explorer ではこのページは表示できません」となり、参照することができません。
私の方の問題なのでしょうか。
あるいは、別の方法でソースを確認することは可能でしょうか。
ご多忙中かと思われますが、何卒、ご指導願います。
敬具

horiiさん、記念すべき初コメントありがとうございます。

>参照することができません。
いつからか分かりませんがリンク切れになってますね・・・

>別の方法でソースを確認することは可能でしょうか。
ここにソースをそのまま貼っちゃっていいものか分からないので・・・
以下の方法なら問題なく確認できます。

サイドバーのリンク先に「MilkyStep」というサイトがあるので、そこに行くと、無料版の「MilkyStep Light」というCGIがもらえます。
(というか、うちで開発したヤツなんですが)
そのダウンロードしたCGI一式(ms_light)の中に、「js」というディレクトリがあり、その中に「textarea.js」が入ってます。

コメントする