HTMLに
<input type=text name="rewrite" value="">
として記入しているのですが
このアドレスにアクセスした際に
text部分にフォーカスされてマウスでクリックしなくても書き込みが開始されるようにしたいのですが
どのようにJavaScriptを付け足せばよいでしょうか?
アドバイスいただければと思います。
bodyタグのonloadなどに入れてください。
onload="document.[フォームのname].rewrite.focus()"
※「フォームのname」は、form name="form1"であれば、onload="document.form1.rewrite.focus()"になります。
<!-- window.onload = start; function start(){ document.forms[0].elements["rewrite"].focus(); } // -->
こんな感じでどうでしょう
参考にさせていただきます。
下記を参考にしてみてください。
http://www.tagindex.com/javascript/form/focus.html
<body onLoad="document.all.rewrite.focus()">
onLoadイベントで指定テキストにフォーカスを設定。
※フォーム名がわからないのでdocument.allとしています。
シンプルでよさそうです。
ありがとうございます。
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にしたほうがいいかもしれませんね。
ありがとうございます。
bodyタグのonloadイベントが主流かもしれませんが、
ワタシなら、以下をhtmlタグ終了後に書き足して済ませます。
<script> document.forms[0].rewrite.focus(); </script>
理論的には、イチバン妥当な気がします。
ロード中にエスケープされたら、ヘンなことになったりすることを思うと、
なんて考えてしまうと、
とりあえずHTMLはレンダリングを完了してから、
その後、つまりhtmlタグ終了後にscriptタグで、実行させる・・・
邪道ですかね?
ありがとうございます。
追加するだけで簡単そうですね。
シンプルなので判りやすいです。
参考にさせていただきます。
ありがとうございます。
参考にさせていただきます。