やり方
- エラーになった項目のclassにマーク(例えば「item_error」というクラス名)を付ける。
- classに"item_error"が付いている一番最初の項目にフォーカスを当てる。
そのロジックが以下。
ロジックの説明
classに「item_error」が付いている項目にフォーカスを当てるロジック。
ポイントは、コールバック関数に「return false;」を付けること。
これをしないと、エラーのあった最後の項目にフォーカスがあたる。
(eachを終わらせるための方法)
$(".item_error").each(function() {
$(this).focus();
return false;
});
もっと良い方法「item_error」というclassが設定されているinput, select, text(, button)要素をに対してフォーカスを当てます。
くるくる回らなくても良いので(コンピュータ的に)速いです(項目が少なければ人が感じられるほど違いはありません。)。
$('.item_error:input:visible').eq(0).focus();
これで、エラーがあった項目を保持しておく必要がなくなるな。
0 件のコメント:
コメントを投稿