フォーカス設定について

JavaScriptにて入力チェックを行った後、エラーが発生したフィールドにフォーカスを設定したいと思っています。

入力チェックについては、作成できたのですが、

フォーカスをセットする方法が解らない状態です。

 

JavaScriptでの書き方としては、

対象の要素名を指定して「focus」を実行すれば良いと理解していますが、

この方法で実現できますでしょうか?

 

また、Kintoneにて対象のフィールドの要素名を確認する方法はありますか?

 

よろしくお願いします。

後藤さん

下記のようなコードで可能です。
value-nnnnnn の nnnnnn は、項目に付与された番号でブラウザのデバッグツールで確認できます。

document.querySelector('.value-nnnnnn input').focus();

rex0220様

 

ご回答ありがとうございます。

教えていただきましたJavaScriptのコードにて、指定のフィールドにフォーカスできました。

 

ありがとうございました。

指定のフィールドに対してフォーカスする方法について、

rex0220様にご回答いただいた「document.querySelector(‘.value-nnnnnn input’).focus();」にて、

Chrome では動作し、指定のフィールドにフォーカスできました。

 

IE11にて試したところ、指定したフィールドにフォーカスできませんでした。

IEに対してはエミュレート設定をしておらず、「X-UA-Compatible: IE=Edge」となっています。

 

このコードについては、IE8以降から使用できるとどこかで紹介されていたと思うのですが、

それ以外に条件がありますでしょうか?

 

よろしくお願いします。

こちらで試してみましたが、windows10 で edge, IE11 とも問題なくフォーカス出来ました。

何か環境か設定が違うのかもしれませんね。

あと他のエラー等が発生していないでしょうか?

 

rex0220様

 

当方はWindows7/IE11です。

会社方針でIEの設定がされている部分があると思われ、まっさらな初期導入のIE11とは言えない状況だと思われます。

 

IEにてデバッガー(F12 開発者ツール)でエラー発生状況を確認しましたが、

エラーは発生していません。(警告は出ましたが・・・)

 

なお、デバッグ用に「focus」の後に「alert」を入れてみましたが、

メッセージが表示されましたので、forcsは処理されているが無視されているといった感じと思われます。

 

当方のIEの環境の問題が大きいのではないかと思いました。

 

文字列(1行)の場合はうまくいくのですが文字列(複数行)ではうまくいかないです。

文字列(複数行)のパターン教えていただけますでしょうか。

ta さん

文字列(複数行)は、タグが異なります。

document.querySelector('.value-nnnnnn textarea').focus();

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。