特定のテキスト入力域<INPUT>にフォーカスをあてるには?

[上に] [前に] [次に]
ぴかり [E-Mail] 2000/01/21(金) 10:21:06
複数のテキスト入力域の存在するページに遷移した際に
先頭のテキスト入力域にフォーカスを当てる
(=カーソルを移動する)ことは可能でしょうか?
テキスト入力域は、<INPUT TYPE=”text”>タグを
使用しております。
よろしくお願いいたします。

茶しぶ男 2000/01/21(金) 10:41:09
<BODY onload="document.fm1.hogehoge.focus();">
<FORM METHOD=POST ACTION="xxxx" NAME=fm1>
<INPUT TYPE="TEXT" NAME="hogehoge">
<INPUT TYPE="TEXT" NAME="foo">

<FORM>で指定したNAMEと
<INPUT>で指定したNAMEを
<BODY>で上記のように指定すればOKです。
hogehogeのテキスト入力域にカーソルが表示されます。

../199909/99090380.htm

蓮子 2000/01/21(金) 10:45:29
<BODY onLoad="document.fo.el[0].focus();">
でやってます。更に選択状態にするなら
document.fo.el[0].select();
を追加する。

コジコジ 2000/01/21(金) 10:49:06
本当は、form要素にname属性は文法違反なので、次のように書きたいですね。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>サンプル</title>
</head>
<body onload="document.forms[0].sono1.focus();">
<form action="xx.cgi" method="post">
<p><input type="text" name="sono1" value=""></p>
<p><input type="text" name="sono2" value=""></p>
<p><input type="text" name="sono3" value=""></p>
<p><input type="text" name="sono4" value=""></p>
<p><input type="submit" value="送信"></p>
</form>
</body>
</html>

蓮子 2000/01/21(金) 10:52:18
えっとこれに関連して、Netscapeで
子ウィンドウが開いた時にこれをやろうとしているのですが、
開いた直後は確かに1番目のフォームにフォーカスが当たるのですが、
その後、表示しているテーブルが一度消えて、フォーカスが消失します。

一旦子ウィンドウが開いた後、子ウィンドウが開いたまま
再度親ウィンドウから子ウィンドウにURLを表示する時は
問題なく動作するのでたぶんウィンドウが開く時になにか
あるのではないかと思います。
原因と対処法が分からないのですが…どなたか教えて下さい。

ぴかり 2000/01/21(金) 13:51:51
[[解決]]
皆さん、ありがとうございました!
先頭のテキスト入力域にFOCUSがあたるようにできました。
私の質問は解決したのですが、『蓮子』さんの質問もありますので
引き続き、よろしくお願いします。

蓮子 2000/01/21(金) 18:18:17
ぴかりさんありがとうございます。
関連することなのでこちらにレスがつけば、
参考にしやすいかと思いましたが、
表題「NNで開いた子ウィンドウのフォームにフォーカスを」
で投稿し直します。

[上に] [前に] [次に]