• ベストアンサー

javascriptでフォーカスしたい

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

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

#2です。 ちょっと、抜けていたかも。 訂正です。 (function(){ /*@cc_on@*/  var elm;  document./*@if(1)attachEvent('on'+@else@*/addEventListener(/*@end@*/ 'click', function(evt){   var t = evt./*@if(1)srcElement@else@*/target/*@end@*/;   if(t.nodeName=="A" && elm){    elm.value = t./*@if(1)innerText@else@*/textContent/*@end@*/;    elm = null;    evt./*@if(1)returnValue=false@else@*/preventDefault()/*@end@*/;   } else if(t.nodeName=="INPUT"){    var e = t.parentNode;    while(e && e.id!="hoge") e = e.parentNode;    elm = e?t:null;   } else { elm = null; }  }, false); })();

その他の回答 (2)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

内容がよくわからないので、以下、参考までの雰囲気のみのサンプルです。 『id="hoge"内のインプット要素をクリックした直後にリンクをクリックすると、リンクのテキストがテキストボックスに入る。』というものです。 直後のクリックでない場合は、通常のリンク(遷移)になります。 雰囲気のみなので、フォーカスはクリックによるフォーカスだけを対象にしています。(…手抜き) (後は、お好みに合わせてください) (全角空白は半角に) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head><title>sample</title> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <style type="text/css"> <!-- #hoge p { margin:0; } #hoge p input { width:10em; } //--> </style> <script type="text/javascript"> <!-- (function(){ /*@cc_on@*/  var elm;  document./*@if(1)attachEvent('on'+@else@*/addEventListener(/*@end@*/ 'click', function(evt){   var t = evt./*@if(1)srcElement@else@*/target/*@end@*/;   if(t.nodeName=="A" && elm){    elm.value = t./*@if(1)innerText@else@*/textContent/*@end@*/;    elm = null;    evt./*@if(1)returnValue=false@else@*/preventDefault()/*@end@*/;   } else if(t.nodeName=="INPUT"){    var e = t.parentNode;    while(e && e.id!="hoge") e = e.parentNode;    if(e) elm = t;   }  }, false); })(); //--> </script> </head> <body> <div id="hoge"> <p><input type="text" value=""> <p><input type="text" value=""> <p><input type="text" value=""> </div> <p>テスト文字<a href="http://www.yahoo.co.jp/">リンク1</a> <p>テスト文字<a href="#">リンク2</a> <p>テスト文字<a href="#">リンク3</a> </body> </html>

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>テキストボックスの中のひとつをフォーカスした後に >リンクのようになっている文字をクリックする リンクをクリックしたらフォーカスが外れるのでは? ラジオボタンなどでやる方が現実的かと

関連するQ&A

  • javascriptでフォーカスしたい(フレーム)

    以前も同じ質問をしたのですが、また壁にぶつかってしまいまして補足つきで再質問です。 javascriptで たくさんあるテキストボックスの中のひとつをフォーカスした後に リンクのようになっている文字をクリックするとさっきフォーカスした テキストボックスに内容(そのリンクのURLなど)が 自動的に入力されるようなことは、できませんか? ※補足※ 当サイトはフレームで分けておりまして以前の回答はとても参考になったのですが、フレームで分けても動作しなくて(泣)誰かわかる方お願いします。 ↓以前の質問のURL↓ http://okwave.jp/qa/q7405571.html

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

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

  • JavaScriptのfocus()とselect()について

    focus()やselect()では文字列全体が選択されてしまいますが、 以下のようにtext内のテキストの後にカーソルを移動できないか 考えています。 xxxxxxI JavaScriptでなんとか工夫して出来ないでしょうか?

  • VBのフォーカスの移動について教えてください

    はじめたばかりの初心者ですが、よろしくお願いします。 商品名の一覧のリストボックスを表示し、商品コードを入力するテキストボックスと商品名を表示させるラベルをそれぞれ三つづつ用意し、テキストボックスへ商品コードの入力、またはリストボックスの商品名のクリックでラベルに商品名を表示するようにしたいのですが、まず最初にテキストボックス1にフォーカスを移します。そしてそこでリストボックスの商品名をクリックすると、そこにフォーカスが移ってしまいます。 リストボックスをクリックしたあと、自動的に元のテキストボックス1 (元のフォーカスがテキストボックス2にあったときにはテキストボックス2に) にフォーカスを戻すにはどのようにすればいいのでしょうか。 サンプルコードで教えて頂けたら有難いのですが。

  • Javascriptで、フォームボタン押下(submit)せず、リンクURLを書き換える

     javascriptで、  1.フォームのテキストボックスに入れられた値を取得し、   例)テキストボックス入力 ; test  2.元々記述されているリンクURLをユーザがクリックした時、   例)元々のリンクURL ; <a href="www.google.co.jo?q= ~...  3."1"のテキストボックス内に記述された値を取得して、"2"のURLを書き換え、   例)テキストボックス内の文字をURLの一部に追記する ; <a href="www.google.co.jo?q=test  ~...  4.書き換えられた後のURLにユーザを飛ばす、  ・・・という事って出来るんでしょうか。  上記動作内でユーザの動作は、   テキストボックスに文字を入れる、という動作と、   リンクをクリックする、という動作のみです。  フォームのボタン押下後、というのであれば出来たんですが、上記の様な動作のコードが思い浮かびません・・・。PHPとかCGIではなく、Javascriptで何とか出来ないでしょうか。  お知恵拝借、よろしくお願いします。

  • フォーカスがあるテキストボックスに文字を入れる

    GUIでテキストボックスとボタンを作っています。 ボタンをクリックすると、GUIのテキストボックスに書かれた文字がWebブラウザ側にあるテキストボックスへ挿入されるという処理をしたいです。 この処理は、ボタンを押す前にWebブラウザ上のテキストボックスにフォーカスを移し、その後ボタンを押したらフォーカスがある位置に文字を挿入すればできるのではと考えたのですが。。。 フォーカスがある位置に文字を挿入させるやり方がわかりません。 どなたか分かる方教えてください><;

  • 【Javascript】(テキストボックスの)テキストの末尾にフォーカスを置きたい【フォーム】

    onLoad時にテキストボックスにフォーカスをあてるのですが、 質問タイトルのようなことができません。 前ページからPOSTで持ってきた文字列を入れたテキストボックスなのですが、 BODYタグ部分にonLoad="frm.elm.focus();"と書くと、 そのテキストボックス内の文字列の先頭にフォーカスが行きます。 文字列の続きを入力する項目なので 文字列の末尾にフォーカスを置きたいのですが 方法はありますでしょうか。 ご存知の方いらっしゃいましたらご教示願います。 質問が解りづらかったらすみません。 宜しくお願い致します。

  • focus()が上手くいかない

    困っています、助けてください。 フォームのテキストボックスの入力された文字数をチェックし、 サイズオーバーなら、アラートを表示し、テキストボックスにフォーカスを移動させたい。 のですが、上手く動いてくれません。 コードは次の通りです。どこがおかしいのか?どうすれば改善できるのか? 教えてください。 <form method="post" action="#"> <input type="text" name="fmTitle" onBlur="checkText(this)"> </form> <script type="text/javascript"> <!-- function checkText(aText) { if (aText.value.length > 100) { alert('サイズオーバーです'); aText.focus(); } } //--> </script>

  • フォーカスの移動

    IMEソフトキーボードのようなものを作っています。 フォーム1にテキストボックスがあり、フォーム2をソフトキーボード。というように作りたいと思っているのですが問題があります。 コマンドボタンを押すごとに1文字ずつ送るような作りになっているのですが、1文字ごとにテキストボックスからコマンドボタンにフォーカスが移るため、2文字以上の文字列の変換ができないのです。VB的に無理なのかもしれないですが、IMEソフトキーボードのようにテキストボックスにフォーカスをセットしたままの文字入力を出来ないでしょうか?ちなみにkeybd_eventを使っています。 時間がありましたら、ご教授のほどよろしくお願いします。

  • JavaScriptについて教えてください。

    JavaScriptについて教えてください。 ringo.html、orange.htmlがあります。 それぞれに、テキストボックスと、submitボタンが一つずつあります。 行いたいことですが、 どちらかの、submitボタンをクリックすると、 それぞれの、テキストボックスの値を表示したいです。 ※hiddenを使用して実現したいです。 【イメージ】 ringo.htmlのテキストボックスに「100」を入力 orange.htmlのテキストボックスに「200」を入力 いずれかの、submitボタンをクリックすると _______________ ringoの入力値は、100です。 orangeの入力値は、200です。 ________________ といったイメージです。 よろしくお願いします。