TEST.htmlでリンクへのフォーカスの移動方法

このQ&Aのポイント
  • TEST.html内の表でテキストとリンクを組み合わせています。しかし、TEST.htmlを開いた際に特定のテキスト(A2)にフォーカスを当てる方法がわかりません。Javascriptのonload関数を使用してA2にフォーカスを当てようとしましたが、うまくいきません。どなたかアドバイスをいただけないでしょうか?
  • Javascriptの知識があまりなく、説明が不十分かもしれませんが、TEST.html内の表においてリンクがあるテキスト(A2)にフォーカスを当てる方法を教えてください。onload関数を用いてA2の要素にフォーカスをあてようとしていますが、成功しません。
  • TEST.html内の表にはテキストとリンクが組み合わさっていますが、この中で特定のテキスト(A2)にフォーカスを当てる方法が分かりません。Javascriptのonload関数を使ってA2の要素にフォーカスを合わせようとしましたが、うまくいきません。アドバイスをいただけないでしょうか?
回答を見る
  • ベストアンサー

リンクへのフォーカスの移動の仕方

表の中にテキストを記入しそこにリンクが張ってあります。 例)TEST.html  A1(A1.htmへのリンク)  A2(A2.htmへのリンク)  A3(A3.htmへのリンク) このとき、TEST.htmlを開いたときに、A2と言う文字にフォーカスをあてることはできないのでしょうか? おそらく<body>タグの中に onload 関数 と書いて その関数で、A2にフォーカスをあてるのだと思うのですが、うまくいきません。 関数の中には document.all["A2を示すAタグのID"].Focus();と書いています。 Javascriptについてあまり知識がなく、説明も不十分かと思いますが、宜しくお願い致します。

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

  • ベストアンサー
  • ctrlzr
  • ベストアンサー率29% (18/62)
回答No.1

<html> <script language="JavaScript"> function body_onload(){ document.all["a2"].focus(); } </script> <body onload="body_onload();"> <table> <tr><td><a href="A1.html" name="a1">A1</a></td></tr> <tr><td><a href="A2.html" name="a2">A2</a></td></tr> <tr><td><a href="A3.html" name="a3">A3</a></td></tr> </table> </body> </html> ねすけだと動かないです... <form>で囲った方がいいかも

takao123
質問者

お礼

できました!ありがとうございます。 IDじゃなくてNAMEなんですね。

関連するQ&A

  • フォーカスする際のテキストフィールド名を変数で渡したい

    表のような入力フォームがあって、submitした際にあるプログラムが走り、HTML本体を再読み込みしています。 画面が表示されたときに、テキストフィールドにあらかじめフォーカスを合わせるには、以下のOnloadとfocus()を使いますよね? <body onLoad="document.Form.Field.focus()"> で、再読み込み時には、次の入力用テキストフィールドへフォーカスを合わせたいのですが、どうすればいいでしょうか? 例えば A1 A2 A3 というとき、A1を入力後、後ろでプログラムが走り、再読み込みして画面が再表示されたときに、A2にフォーカスがうつっている、という感じです。通常の書き方だとBodyにはひとつか(A1しか)かけないので・・・変数を使ったらどうかと思ってやってみましたがうまくいきません。 <SCRIPT LANGUAGE="JavaScript"> <!-- var f; f = "A1"; window.alert(f); //--> </SCRIPT> <body onLoad="document.Form.(f).focus()"> 又は <body onLoad="document.Form.var(f).focus()"> <body onLoad="document.Form.f.focus()"> フィールドにindextabをしてみましたがダメでした。又A1にonBlurが入っております。 そもそも変数なんて使えるのでしょうか? 変数以外の方法でも、他にアイディアがあればお願いします。 締切りが明日で非常にあせっています。 よろしくお願いいたします。

  • 画面表示時の初期フォーカスの汎用化について

    すいません、、何方か知っている方がいましたらご教授下さい。 画面表示時にテキストエリアにフォーカスが当たるように <body onload="document.getElementById('ID名')"> と記述します。 しかし、当然の事ながらID名指定なので汎用化できません。 汎用的に初期フォーカスを一番初めにあるinputタグのtext属性に当てる事は可能なのでしょうか?(ID名の自動取得とか?) 場違いな質問でしたらすいません。 宜しくお願い致します。

  • javascriptで<object>タグのリンクを変えたいのですが

    <object>タグで指定したリンクをjavascriptで変えたいのですが・・・。 以下のように記述しているのですが上手くいきません。 <html> <head> <script langage="javascript"> function a(){ obj=document.getElementById("Link"); obj.getAttribute("data")=c.html; } </script> </head> <body onLoad="a()"> <object data="d.html" id="Link" width="700" height="500"></object> </body> </html> どなたかご教授宜しくお願いします。

  • JavaScriptでフォームへのフォーカス処理

    PHP、XHTML、CSSで応募フォームの作成をしております。 PHPとHTMLは別ファイルで作成しており、PHPにアクセスしてそのPHPが指定されたテンプレートを読みにいくような流れとなっております。 HTMLもPHPも完成して、応募フォームとして一通り動くようになったのですが、新たにフォーカス機能を追加したいということになりました。 具体的には、応募フォームの一番最初のテキストエリアに、ページ読み込み時にフォーカスを当てたいという内容です。 そこで、フォーカス機能用のJavaScriptを別ファイルで新たに作成し、動きを確認してみたところ上手く動きません。 HTMLとJavaScriptのソースは下記の通りです。 ==================================================================== ■HTML(全て書くと長くなってしまうので、簡略させていただきます) <script type="text/javascript" src="$path_top_js/focus.js"></script> <body onLoad="Focus()"> </head> <form name="top" action="index.php" method="POST" onReset="return false;" onSubmit="return false;"> <input type="hidden" name="USER_ID" value="$USER_ID"> <INPUT size="20" type="text" name="USER_ID" value="$USER_ID" MAXLENGTH="10"> </form> </body> ■JavaScript(focus.js) function Focus(){ document.top.USER_ID.focus(); } ==================================================================== 「フォームのname="USER_ID"というテキストエリアにフォーカスを当てる」という内容になります。 なぜフォーカスが当たらないのか、原因は予想がつくのですが、どう解決していいのか分かりません。 多分、フォームの値を保持するために記述しているhiddenタグ <input type="hidden" name="USER_ID" value="$USER_ID"> にJavaScriptのフォーカスが当たってしまっているみたいです。(フォーカスが当たっていると思われるhiddenタグは見ることができません) 試しにhiddenタグを外してみたところ、JavaScriptで指定したテキストエリアにフォーカスが当たっていることを確認しました。 「応募フォーム」ということで、ページ遷移した際にもフォームに入力した値を保持しておくためにhiddenタグは外したくないのですが、フォーカス機能もちゃんと動くようにしたいと思っております。 解決方法が分かる方いらっしゃいましたら、ご教授の程お願い致します。

    • ベストアンサー
    • HTML
  • body onload 自動フォーカス

    body onload 自動フォーカス お世話になっております。 PHP・・・ちょっとは分かる JavaScript・・・ほとんど素人 という程度の知識の者です。すみません。 次ページのテキストに自動フォーカスをするプログラムを構築しております。 諸々調べた結果、以下のコードで実行テストは成功しました。 <html> <head> </head> <body onLoad="document.form1.field1.focus()"> <form action="#" name="form1"> <p>パスワード:<input type="password" name="field1" size="25"></p> </form> </body> </html> 以下2点ご質問がございます。 1) name属性についてですが、本番プログラムでは、 name="aaa-bbb-ccc" というように、「-」が入っております。 そうすると、フォーカスの実行は失敗してしまします。 nameに「-」なしの名前をつければ問題ないのですが、 他のプログラムでも使用している名前の為、変更せずに構築することができればと考えております。 何かよい方法はございませんでしょうか。 2) 次ページに遷移した時に、テキストにフォーカスを当てるのと同時、 そのテキスト位置までスクロールすることは可能でしょうか。 同じく、<body onload=location.href='#aaa'>という形で、指定idの場所にスクロールすることはできましたが、 上記1)と組み合わせることができればと思います。 長々すみません。 要約すると、「次ページ遷移時にあるテキストをフォーカスしその場所までスクロールする」 ことが目的です。 何卒宜しくお願い申し上げます。

    • ベストアンサー
    • HTML
  • Safari3にて、新しく開いたウィンドウの入力フォームにフォーカスが合いません

    はじめまして。 javascriptでフォームにフォーカスを当てる処理として、下記のfocusTextファンクションをonloadで呼び出しています。 function focusText(){ document.getElementById("toFocus").focus(); } しかし、Safari3.2.2の場合、対象のHTMLを target="_blank" にて開いた場合にフォーカスが合ってくれません。 window.opener.blur(); を挟んでもうまく行きませんでした。 Safari4や、Interner Explorer、Google Chrome、Firefox等ではうまく行っています。 OSはWindows Vistaです。 解決策をおわかりの方、ご教授いただければ幸いです。 サンプルのソースを下記に記述します。 宜しくお願い致します。 == base.html == <html> <head></head> <body> <a href="new.html" target="_self">自身のウィンドウ</a><br> <a href="new.html" target="_blank">新しいウィンドウ</a> </body> </html> == new.html == <html> <head> <script type="text/javascript"> function focusText(){ document.getElementById("toFocus").focus(); } </script> </head> <body onload="focusText();"> <form> <input type="text" id="toFocus"> </form> </body> </html>

  • フォーカス移動のタイミング

    <html> <head> <script type="text/javascript"> <!-- function getelementid(event){ try { return event.srcElement.id; } catch ( e ) { return event.target.id; } } function lostfocus(event){ elem_id = getelementid(event); elemid = elem_id.replace("1","2"); document.getElementById(elemid).style.visibility = "hidden"; } function tuikabuttonhyouji(event){ elem_id = getelementid(event); document.getElementById(elem_id).style.visibility = "visible"; } function tuikabutton(event){ elem_id = getelementid(event); elemid = elem_id.replace("1","2"); document.getElementById(elemid).style.visibility = "visible"; } --> </script> </head> <body> <textarea rows="1" id="test1" onblur="lostfocus(event);" onDblClick="tuikabutton(event);"></textarea> <input id="test2" style="visibility: hidden;" type="button" value="click" onFocus="tuikabuttonhyouji(event);"> </body> </html> 実装したい機能を部分的に抜き出した部分のソースが上の部分です。 実装したい機能しては、 ・テキストエリアをダブルクリックしたらclickボタンを表示 ・テキストリアからフォーカスが外れたらclickボタンを非表示にする ・ただし、フォーカスの移動先がclickボタンなら非表示にしない なので上記のように書いてみたのですがうまくいきません。 何かいい案がありましたらよろしくお願いします。

  • 開いたタブ(ウィンドウ)にフォーカスが当たらない

    IE8 をタブモードで利用したとき、新しく開いた タブ(ウィンドウ)にフォーカスが当たりません。 JavaScript の window.open で別タブ(ウィンドウ)を 表示する処理を onload イベントで行うと、新しい タブ(ウィンドウ)にフォーカスがあたりません。 button のクリックイベントで表示した場合は、 新しいタブ(ウィンドウ)にフォーカスが当たります。 やりたいことは submit してページを再表示するときに 新しいタブ(ウィンドウ)を表示して、そちらにフォー カスを設定することです。 また、できればブラウザのバージョンによって処理を 切り替えるようなことはしたくありません。 何か原因や解決策などありましたらご教授ください。 よろしくお願いします。 <この現象が発生する環境> IE8 と IE7 で下記のように設定した場合 ツール → インターネットオプション → 全般タブ  → タブ → 設定  → ポップアップの発生時  の設定を   「常に新しいタブでポップアップを開く」  にする。 ※IE9 ではこの現象は発生せず、新しいタブ(ウィンドウ)に  フォーカスがあたります。 ※IE7, 8 でもタブモードではなく、別ウィンドウで開く  設定になっている場合は、新しいウィンドウにフォーカスが  あたります。 <サンプルソースと説明> (説明) test1.html から window.open で test2.html を表示します。 onload で表示したときは test2.html のタブ(ウィンドウ)に フォーカスがあたりません。 button のクリックイベントで表示したときは test2.html の タブ(ウィンドウ)にフォーカスがあたります。 ---(test1.html)---------------------------------- <html> <head runat="server"> <title></title> <script language="javascript" type="text/javascript"> window.onload = function () { OpenWindowTest(); } function OpenWindowTest() { var TestWin = window.open('test2.html'); TestWin.document.focus(); } </script> </head> <body> <form> <div> <input type="button" value="button" onclick="OpenWindowTest();" /> <br /> <input type="submit" value="submit" /> </div> </form> </body> </html> --------------------------------------------------- ---(test2.html)---------------------------------- <html> <body onload="window.focus();"> テストページ </body> </html> ---------------------------------------------------

  • javascriptでフォーカスしたい

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

  • textbox内の文字数を判別しfocusを移動させる

    textbox内の文字数を判別しfocusを移動させるプログラムを書いたのですが、2つ目のtextboxから記入したりするとうまく動作しません。どうしたらいいのでしょうか?カーソルがどのtextboxにあるか(どのtextboxにfocusしているか)を参照しようとしたのですがそのような関数はあるのでしょうか?教えてください。 <html> <head><title>checkLength</title> <script language="JavaScript"> <!-- document.onkeyup=checkLength; function checkLength() { if(document.form1.text1.value.length==3) document.form1.text2.focus(); if(document.form1.text2.value.length==5) document.form1.text3.focus(); } //--> </script> </head> <body bgcolor="#ffffff"> <form name="form1">半角英数で入力してください。<br> 1...<input type="text" name="text1" size="7"> 3文字入力するとカーソル移動<br> 2...<input type="text" name="text2" size="7"> 5文字入力するとカーソル移動<br> 3...<input type="text" name="text3" size="7"> </form> </body> </html>

専門家に質問してみよう