• ベストアンサー

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

同一ページのリンクをクリックした時に、あるテキストボックスのフォーカスのある場所に文字を挿入したい。 #テキストボックスの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

  • クリック→テキストボックスに追加

    下記は、クリックすると、テキストボックスの文字が入れ代わります。こうでなく、「どれどれそれからどうした」と追加していくようにするにはどうしたらよいでしょうか? <A HREF="javascript:function voi(){};voi()" onClick="document.myform.bun.value='どれどれ'">どれどれ</A><BR> <A HREF="javascript:function voi(){};voi()" onClick="document.myform.bun.value='それから'">それから</A><BR> <A HREF="javascript:function voi(){};voi()" onClick="document.myform.bun.value='どうした'">どうした</A><BR> <FORM name="myform"> <INPUT TYPE="TEXT" NAME="bun" SIZE="50"> </form>

  • クリック→レイヤー→インプット?

    下記のようなことができるシンプルなサンプルを探しています。 <A HREF="javascript:function voi(){};voi()" onClick="hogehoge()">クリック</A> <INPUT TYPE="TEXT" NAME="都市名" SIZE="12"> 上記の「クリック」をクリックすると、windowではなくレイヤー画面が見え、そこに <A HREF="javascript:function voi(){};voi()" onClick="input()">東京</A><BR> <A HREF="javascript:function voi(){};voi()" onClick="input()">大阪</A><BR> <A HREF="javascript:function voi(){};voi()" onClick="input()">京都</A><BR> という内容が表示され、クリックすると、「都市名」のテキストボックスに入る。レイヤーは消える。 クリックするとテキストが入るなどの部分は、私でもできますが、レイヤーをどう表示するかという部分がちんぷんかんぷん。 #レイヤーの説明もちょっとあやしいかもしれません。

  • テキストボックスの先頭へ文字を

    テキストボックスの先頭へ文字を入れるにはどうしたらいいでしょうか。下記だと末尾になります。 <A HREF="javascript:function voi(){};voi()" onClick="document.all.data.focus();document.all.data.value+='追加する'">ああ</A> <INPUT TYPE="TEXT" NAME="data" SIZE="60" VALUE="この文章の先頭に入れたい">

  • セレクトボックスで選択した内容をテキストボックスへ

    こんにちは、初めて質問させて頂きます。 現在、下記のような形式で、選んだテキストをテキストボックスに追加する仕様を使っています。 これをテキストではなく、プルダウン形式のセレクトボックスで選択できるようにはできないでしょうか? <A HREF="javascript:function voi(){};voi()" onClick="document.myform.comment.value+='鉄 '">鉄</A><BR> <A HREF="javascript:function voi(){};voi()" onClick="document.myform.comment.value+='アルミ '">アルミ</A><BR> <A HREF="javascript:function voi(){};voi()" onClick="document.myform.comment.value+='塩ビ '">塩ビ</A><BR> <FORM name="myform"> <INPUT TYPE="TEXT" NAME="comment" SIZE="50"> </form> お手数ですが、もし宜しければお知恵をお貸し下さい。

  • onclickでテキストエリアの末尾にカーソルを入れるには

    <A HREF="javascript:function voi(){};voi()" onClick="document.main.message.value='私たちは'">記入する</A> 上記をクリックしたときにテキストエリアに「私たち」が入力されますが、そのあとにカーソルを持っていく方法をお知らせいただけないでしょうか。

  • iframe越しに文字をインプット

    クリックした文字をifame内のテキストボックスに入れたいのですが、うまく動きません。iframeの特殊な指定のしかたなどあるのでしょうか? よくわからないところ:「parent」はとりあえず入れてみただけ。 (^^; 【sample1.htm】 <A href="javascript:function voi(){};voi()" onclick="parent.document.fm1.Title.value='やったね'">転記</A> <IFRAME NAME="Frame1" WIDTH=800 HEIGHT=500 SRC="sample2.htm" STYLE="position:absolute;top:50px;left:5px;"></IFRAME> 【sample2.htm】 <form name="fm1"> <INPUT TYPE="TEXT" NAME="sample" SIZE="12"> <form>

  • フォーカスを合わせる

    <a href="javascript:onclick_event1();" class="subMenu" tabindex="1" name="event1">イベント1</a> <a href="javascript:onclick_event2();" class="subMenu" tabindex="2">イベント2</a> ウインドオープン時に「イベント1」にフォーカスを あてたいのですが、、、 </form>前に以下の記入では駄目でしょうか? <script language="javascript"> <!-- document.fm.111.focus(); //--> </script>

  • サブウインドウのこと

    INDEX.HTM からサブウインドウを開いています。 INDEX.HTM には <A HREF="javascript:function voi(){};voi()" onClick="winOpen('subwin','test.cgi?key=japan')">日本</A> <A HREF="javascript:function voi(){};voi()" onClick="winOpen('subwin','test.cgi?key=japan')">アメリカ</A> <A HREF="javascript:function voi(){};voi()" onClick="winOpen('subwin','test.cgi?key=japan')">中国</A> のように並んでいます。 日本をクリックすると、サブウインドウが開きます。 アメリカをクリックすると、サブウインドウのnameが同じため、日本で開いたサブウインドウが変わります。そのとき、サブウインドウがINDEX.HTMに隠れてみえません。 これをクリックするごとに、サブウインドウが最上面で見えるようにするにはどうしたらいいでしょうか。 javascriptの質問からずれているかもしれません。

  • リンククリックで文字列を他のフレームへ

    リンクをクリックすると他のフレームにテキストを渡したい。現状はボタンクリックで渡しています。渡す文字は<SCRIPT language=JavaScript>の部分に書かず、リンクの場所においておきたい。 (例) <A HREF="">東京</A> <A HREF="">大阪</A> <A HREF="">名古屋</A> この文字の部分に 東京の名物、大阪の名物、名古屋の名物などのテキストを含ませておき、そことクリックすると別のフレームのテキストボックスに入るようにしたい。 #どうか、アドバイスを。 <form action="javascript:void(1)" onsubmit="return false;"> <p><input type=text name=Title value="やっほ"> <input type=button onclick="parent.Frame3.document.fm1.Title.value=this.form.Title.value;" value="←コピー">

  • javascriptでフォーカスしたい

    初質問です。 javascriptで たくさんあるテキストボックスの中のひとつをフォーカスした後に リンクのようになっている文字をクリックするとさっきフォーカスした テキストボックスに内容(そのリンクのURLなど)が 自動的に入力されるようなことは、できませんか?