如何在使用Tab键时更改文本字段选择顺序

时间:2013-03-01 19:20:42

标签: html forms tab-ordering

我仍然在想如何重新说出这个标题。

无论如何,我在这个页面上有这个联系表格: http://leongaban.com/

当您点击名称并填写后,您可以标签到下一个字段电子邮件。输入电子邮件后,用户很自然地再次进入消息框。

但是出于某种原因,我的标签选择一直跳到页面顶部,似乎选择了我的投资组合主导航链接。还有一些标签,我回到了短信textarea。

这当然不是理想的,有没有办法可以强制选项卡选择按正确顺序排列?即:名称>电子邮件>消息> Captcha>提交

我当前的表单(HTML)

<div class="the-form">
            <form id="myForm" action="#" method="post">

            <div>
                <label for="name">Your Name</label>
                <input type="text" name="name" id="name" value="" tabindex="1">
            </div>

            <div>
                <label for="email">Your Email</label>
                <input type="text" name="email" id="email" value="" tabindex="1">
            </div>

            <div>
                <label for="textarea">Message:</label>
            </div>

            <div>
                <textarea cols="40" rows="8" name="message" id="message"></textarea>
            </div>

            <p><em>Hi, what is 2 + 3?</em></p>
            <input type="text" name="captcha" id="captcha" />

            <div>
                <input class="submit-button" type="submit" value="Submit">
            </div>

            </form>
        </div>

    </footer>

2 个答案:

答案 0 :(得分:6)

您必须按照您希望的顺序为tabindex编号。

<input type="text" name="name" id="name" value="" tabindex="1">
<input type="text" name="email" id="email" value="" tabindex="2">
<textarea cols="40" rows="8" name="message" id="message" tabindex="3"></textarea>
<input type="text" name="captcha" id="captcha" tabindex="4"/>
<input class="submit-button" type="submit" value="Submit" tabindex="5">

现在你有两个tabindex es设置为1,因此它们将首先出现,因为它们是唯一具有已定义tabindex的人。

答案 1 :(得分:1)

尝试将tabindex属性用于输入字段。这将允许您控制用户可以选择页面元素的顺序。

虽然您已经在名称和电子邮件输入上设置tabindex,但可以找到here的示例代码。只需将该属性添加到其余输入中,然后按照您希望的顺序进行设置。