dポイントプレゼントキャンペーン実施中!

<div style="display:none" >
<input type="text" name="test" value="">
</div>

上記のような感じでブラウザー上では確認できない形のテキストフィールドでは
javascript のfocus() ではフォーカスできない仕様なのでしょうか

A 回答 (2件)

仕様書を読んだわけではないので、あくまで個人的な感覚ですが、focusとは「選択」に近い意味合いだと思います。

また、input要素の場合、キャレットの移動を意味するはずです。従って、非表示の要素は選択もキャレットの移動もできないという印象です。というか実際できませんよね。試してないのでわかりませんが、visibility:hiddenならまだなんとなく出来てもおかしくない気がしますが、おそらくそれでも出来ないでしょうね。
どうしてもやりたいなら、position:absolute;z-index:-1;で、他の要素の裏側に回して隠してしまう手もありますね。
ただし、どういう方法であれ、隠し要素はgoogleのガイドラインに触れますね。ご利用は計画的に。
    • good
    • 0

ざっと試してみましたが、たしかにそのような感じですね



まぁ見えないinputにフォーカスするという意図がわかりませんが

<script>
window.onload=function(){
document.getElementById("test1").focus();
document.getElementById("test2").focus();
}
</script>
<form action="">
<div>
<input type="text" name="test1" id="test1" value="">
<div style="display:none" >
<input type="text" name="test2" id="test2" value="">
</div>
<input type="text" name="test3" id="test3" value="">
<input type="submit" value="go">
</div>
</form>
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!