• ベストアンサー

テキストエリア内へボタン(リンク)によるテキスト挿入

テキストエリア内へボタン(リンク)によるテキスト挿入 http://lumber-mill.co.jp/gallery/view/portfolio/yosei/js/insert_text 上記urlのテキストエリア内へボタン(リンク)によるテキスト挿入ですが、 同じように1つだけ(<br/>)だけの挿入はできるようになったのですが、 これを複数設置したい場合の設置方法を教えてください。 ただいくつもコピーすればいいのでしょうか?

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

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

検証してみました。 おおむねOKです。  n1.href="javascript:insertBr("+i+","+j+",'XXX')"; ですね。それから、 p.insertBefore(n2,e); は最後に1回にした方がよいですね。

その他の回答 (1)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

スクリプトの    var n1 = document.createElement("a"); (A)  n1.href="javascript:insertBr("+i+","+j+")";    n1.style.fontSize="x-small"; (B)  n1.appendChild(document.createTextNode("カーソル位置で改行"));    var n2 = document.createElement("br");    p.insertBefore(n1,e);    p.insertBefore(n2,e); の部分を繰り返すのですが(A)の部分で、挿入する文字を指定するようにします。   n1.href="javascript:insertBr("+i+","+j+",<br />)"; みたいに。 (B)の部分が何を挿入するかのキャプションセットです。  n1.appendChild(document.createTextNode("カーソル位置で××")); 関数insertBr()は、下↓のようにします。 function insertBr(i,j,tag){   var ta = document.forms[i].elements[j];   if(navigator.userAgent.indexOf("MSIE") != -1){    ta.focus();    var s = document.selection.createRange();    s.text = tag;   }else{    var p = ta.selectionStart;    var s1 = ta.value.substr(0, p);    var s2 = ta.value.substr(p, ta.value.length);    ta.value = s1 + tag + s2;   } }

saex
質問者

お礼

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

関連するQ&A

専門家に質問してみよう