在表单内循环输入字段的焦点

时间:2012-10-03 12:27:18

标签: javascript html5

<form>
    <input tabindex="1" required>
    <input tabindex="2" required>
    <input>
    <input tabindex="3" required>
    <input>
    <input tabindex="4" required>
    <input tabindex="5" required>
    <button type="button" tabindex="6"></button>
    <button type="submit" tabindex="7"></button>
</form>

此处我在表单末尾有forminput个字段和两个button ...我正在使用tabindex属性{{1他们按顺序 ...现在在tab键上我需要在发布焦点第一个输入字段与focus一起关注>来自提交按钮表单焦点输入字段tabindex="1"在{strong>释放焦点之后{{1>}的输入字段我怎么能这样做...... ??

请不要使用任何jQuery ...只有javascript或html ...

2 个答案:

答案 0 :(得分:2)

黑色眼镜蛇的答案有效,除非你使用id属性来表达某些东西(我曾经)。编辑代码以便为任何人工作都很容易:

<form>
    <input tabindex="2" autofocus required>
    <input tabindex="3" required>
    <input>
    <input tabindex="4" required>
    <input>
    <input tabindex="5" required>
    <input tabindex="6" required>
    <button type="button" tabindex="7"></button>
    <button type="submit" tabindex="8" id=""
            onFocus="this.tabIndex=1;"
            onBlur="this.tabIndex=8;">
    </button>
</form>

我刚刚改变了这个:

        onFocus="this.id=this.tabIndex;this.tabIndex=1"
        onBlur="this.tabIndex=this.id">

到此:

        onFocus="this.tabIndex=1;"
        onBlur="this.tabIndex=8;">

这不是动态的,但它真的很容易。如果您想要动态,see here.

答案 1 :(得分:1)

最后,我已经解决了我的问题...使用HTML和一些小的javascript可以轻松完成...意味着表单中输入字段的循环焦点......

<form>
    <input tabindex="2" autofocus required>
    <input tabindex="3" required>
    <input>
    <input tabindex="4" required>
    <input>
    <input tabindex="5" required>
    <input tabindex="6" required>
    <button type="button" tabindex="7"></button>
    <button type="submit" tabindex="8" id=""
            onFocus="this.id=this.tabIndex;this.tabIndex=1"
            onBlur="this.tabIndex=this.id">
    </button>
</form>

在此,我跳过tabindex="1"并从tabindex="2"开始...然后我在attribute按钮中添加了2个submit ... onFocus&amp; ; onBlur ...此外,我使用id属性来记忆提交按钮的主要或实际tabindex数...当用户专注于提交按钮时,javascript将更改其{ {1}}从tabindex8 ...现在,如果用户点击标签按钮,表单会尝试找出具有下一个1的元素...表示第一个输入字段...再次,当焦点将离开提交按钮时,javascript将从其tabindex中检索其真实tabindex ...表示id将从{{更改} 1}}到tabindex ...以这种方式,焦点将在形式内循环...

Live Demo