人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

JavaScriptで質問です。
HTMLに
<input type=text name="rewrite" value="">
として記入しているのですが
このアドレスにアクセスした際に
text部分にフォーカスされてマウスでクリックしなくても書き込みが開始されるようにしたいのですが
どのようにJavaScriptを付け足せばよいでしょうか?
アドバイスいただければと思います。

●質問者: quocard
●カテゴリ:インターネット ウェブ制作
✍キーワード:HTML JavaScript アクセス アドバイス アドレス
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● coliss
●20ポイント

bodyタグのonloadなどに入れてください。

onload="document.[フォームのname].rewrite.focus()"

※「フォームのname」は、form name="form1"であれば、onload="document.form1.rewrite.focus()"になります。

◎質問者からの返答

ありがとうございます。

参考にさせていただきます。


2 ● SALINGER
●20ポイント
<!--
window.onload = start;
function start(){
document.forms[0].elements["rewrite"].focus();
}
// -->

こんな感じでどうでしょう

◎質問者からの返答

参考にさせていただきます。


3 ● KirakiraHikaru
●20ポイント

下記を参考にしてみてください。

http://www.tagindex.com/javascript/form/focus.html

<body onLoad="document.all.rewrite.focus()">

onLoadイベントで指定テキストにフォーカスを設定。

※フォーム名がわからないのでdocument.allとしています。

◎質問者からの返答

シンプルでよさそうです。

ありがとうございます。


4 ● gexpr
●20ポイント

HTMLのbodyタグを

<body onload="rewrite.focus()">

<input type=text name="rewrite" value="">

</body>

と書き換えれば一応動きます。

しかしname属性での指定は今後廃止されていく傾向にあるようなので、

<input type=text name="rewrite" id="rewrite" value="">

と、id属性での指定を加えた方が良いかもしれません。

また、ヘッダーの部分にJavaScriptを記述する方法もあります。

<head>

<script type="text/javascript">

<!--

function init() {

document.getElementsByName("rewrite")[0].focus();

}

window.onload = init;

// -->

</script>

</head>

こっちのほうが一般的かもしれません。(一部タグ<>を全角文字にしています)

◎質問者からの返答

なるほど。

今後のことを考えたらIDにしたほうがいいかもしれませんね。

ありがとうございます。


5 ● Yuhto
●28ポイント

bodyタグのonloadイベントが主流かもしれませんが、

ワタシなら、以下をhtmlタグ終了後に書き足して済ませます。

<script>
document.forms[0].rewrite.focus();
</script>

理論的には、イチバン妥当な気がします。

ロード中にエスケープされたら、ヘンなことになったりすることを思うと、

なんて考えてしまうと、

とりあえずHTMLはレンダリングを完了してから、

その後、つまりhtmlタグ終了後にscriptタグで、実行させる・・・

邪道ですかね?

◎質問者からの返答

ありがとうございます。

追加するだけで簡単そうですね。

シンプルなので判りやすいです。

参考にさせていただきます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ