• ベストアンサー

クリック→フォーカスのある場所に文字を挿入

同一ページのリンクをクリックした時に、あるテキストボックスのフォーカスのある場所に文字を挿入したい。 #テキストボックスのnameは取得せずに。 #「フォーカスがある場所へ」限定。 <A HREF="javascript:function voi(){};voi()" onClick="document.main.☆この辺わからない☆='文字'">入れる</A> ↑ここをクリックするとフォーカスのあるところに入る。 というようなことはできますか?

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

  • ベストアンサー
  • shorn
  • ベストアンサー率41% (12/29)
回答No.2

少し異なりますが以下の方法はどうでしょう? <input type=text onclick=FocusIn(this) onBlur=ForcusIn(this)> function FocusIn(i){ for(n=0;n<document.formName.elements.length;n++){ if(i==document.formName.elements[n]){ FORCUS=n; } } FORCUS=n; } そしてクリックする場所を <A HREF=# onclick=ValueIn('value')>INPUT</a> function ValueIn(i){ n=FORCUS; document.formName.elements[n].value=i; } とすればいいのではないでしょうか?

s-holmes
質問者

お礼

回答ありがとうございました。また、完全サンプルまでご提供ありがとうございました。 自分のやりたい予定の内容のものセットして使ってみましたが、問題なく利用できました。Nameを気にしなくてもいいので、各種の入力の際にとても汎用的につかえるツールになりそうです。(会社のイントラ) 活用させていただきます。(^O^)

その他の回答 (2)

  • shorn
  • ベストアンサー率41% (12/29)
回答No.3

SAMPLE/********************* <html> <head> <script language="JavaScript"> <!-- var FORCUS=-1; function PROGRAM_1(i){ for(n=0;n<document.forms[0].elements.length;n++){ if(i==document.forms[0].elements[n]){ FORCUS=n; } } } function PROGRAM_2(i){ n=FORCUS; if(n!=-1){ document.forms[0].elements[n].value=i; } } //--> </script> </head> <body> <form> <input type=text onclick="PROGRAM_1(this)"> <input type=text onclick="PROGRAM_1(this)"> <input type=text onclick="PROGRAM_1(this)"> <input type=text onclick="PROGRAM_1(this)"> <br> <a href=# onClick=PROGRAM_2('9880')>password</a> <br> <a href=# onClick=PROGRAM_2('3178')>ID</a> </form> </body> </html>

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

できません。 アンカーをクリックした瞬間に、直前までテキストボックスにあったフォーカスが アンカーに移りますから。 テキストボックスを name などで特定すれば、できる可能性があります。 フォーカスが移動してもカーソル位置を覚えてますから。 でも、NetscapeNavigator の JavaScript では、カーソル位置に文字を挿入する ということはできません。IE の JScript ならできるかも。

参考URL:
http://developer.netscape.com/docs/manuals/communicator/jsref/index.htm
s-holmes
質問者

お礼

回答ありがとうございます。 >アンカーをクリックした瞬間に、直前までテキストボックスにあったフォーカスがアンカーに移りますから。 この説明を聞くとなるほどと思います。 それではやはり、nameなどで特定する方法での処理としてやりたいと思います。 #フォーカスも奥が深い・・ (^^;

関連するQ&A

専門家に質問してみよう