そのため、フォーム入力の量はさまざまであり、CMSでのアプリの設定方法に応じて、異なる「ページ」に配置できます(同じドキュメント内のページを表示/非表示にするだけです)。つまり、それらのタブインデックスは必ずしもDOM構造に準拠しているとは限りません。
また、フォームの種類もさまざまです。
タブインデックスの順序でループ(検証)するにはどうすればよいですか?
(注:表示/非表示ボタンの1つにある[次へ]ボタンにもタブインデックスがあるため、タブインデックスは常に増分パターンに従うとは限りません)
私はこのようなことについて考えました:
var $inputs = $('input[type="text"], select, input[type="radio"]'),
numInputs = $inputs.length,
numInputsChecked = 0,
tabIndex = 0;
while(numInputs != numInputsChecked){
var $input = $inputs.filter(function(){
return $(this).attr("tabindex") == tabIndex;
});
if($input.length){
// Do validation code
numInputsChecked++;
}
tabIndex++;
}
しかし、私はこのタスクを達成するためのより良い方法があるはずだと信じています。(注:私は実際にこのコードをテストしていません。私が考えていることを説明しようとしているだけです)