フォームがあり、を介してすべてのフォーム要素を取得できますserializeArray()
。focus()
エンターキーを使用して、tabindex値に基づいてフォーム要素を作成したいと思います。それが価値を持っているか、そうでなければそれ自体に焦点を合わせている場合にのみ。
jQueryは少し新しいので、間違いがあれば...
$.fn.entertab = function()
{
var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
var maxTabIndex = 20;
var elements = this.serializeArray();
$.each(elements, function(i, element)
{
this.keypress(function(e){
var nTabIndex=this.tabIndex;
var myNode=this.nodeName.toLowerCase();
if(nTabIndex > 0 && key == 13 && nTabIndex <= maxTabIndex && ((!myNode.attr("disabled")) || (myNode.val == "")))
{
myNode.focus();
}
else
{
nTabIndex=this.tabIndex+1;
myNode.focus();
}
});
});
}
$("theform").entertab();