11

我已经为表单中的输入字段定义了选项卡索引。在输入字段中切换时,提交按钮永远不会获得焦点,页面上不同表单中的其他一些输入字段会获得焦点。这些都具有高于 3 的标签索引。怎么会?

<form action="subscription.php" name="subscribe" method="post"  onsubmit="return isValidEmailAndEqual()">
<p id="formlabel">E-mail</p> <input type="text" name="email1" tabindex=1>

<br/>
<p id="formlabel">Repeat e-mail</p> <input type="text" name="email2" tabindex=2> <br/>
<input id="inputsubmit" type="submit" value="Subscribe" tabindex=3>
</form>

CSS:

input {
    background-color : #333;
    border: 1px solid #EEE;
    color: #EEE;
    margin-bottom: 6px;
    margin-top: 4px;
    padding: 1px;
    width : 200px;
}

#inputsubmit {
    background-color : #d7e6f1;
    border: 1px solid #EEE;
    color: #0000ff;
    margin-bottom: 6px;
    margin-top: 4px;
    padding: 1px;
    width : 200px;
}

#inputsubmit:hover {
    cursor: pointer; cursor: hand;  
    background-color : #d7e6f1;
    border: 1px solid #0000ff;
    color: #0000ff;
    margin-bottom: 6px;
    margin-top: 4px;
    padding: 1px;
    width : 200px;
}

p#formlabel{
    width: 100;
}
4

4 回答 4

15

这是 Mac 的一项“功能”,默认情况下只允许您使用选项卡输入框和列表。切换所有控件是一个高级选项:

http://support.mozilla.com/en-US/kb/Pressing+Tab+key+does+not+select+menus+or+buttons

Mac 上的 Firefox 复制了这个默认的操作系统行为。

于 2010-05-19T01:51:28.613 回答
13

这是一个 Mac OS X 问题。您的 Mac 可能被配置为不允许您使用选项卡转到非文本字段元素(例如,按钮)。您可以通过进入键盘的系统首选项来更改此设置。然后单击快捷方式选项卡并查看底部并选择允许专注于所有控件的选项。除了 Mac OS 中的所有按钮之外,您现在应该能够专注于 Safari 和 Firefox 上的按钮。

要快速更改 Mac 上的设置,请按 CTRL + F7(或者,如果您使用的是 Mac 键盘,请尝试按住功能键并按 CTRL + F7)。

于 2010-09-24T12:34:25.967 回答
4

好吧,让我们来看看。我已经在 Firefox (Mac, Windows)、Safari (Mac) 和 IE (Windows) 中尝试过上述代码。以下是我的发现:

使用时

<button name="thename" type="submit">Subscribe</button>

或者

<input id=\"inputsubmit\" type=\"submit\" value=\"Subscribe\">

提交表单(结果相同):

  • FF (Win) - 切换时,焦点确实击中了按钮
  • FF (Mac) - 切换时,焦点没有按下按钮。
  • Safari (Mac) - 选项卡时,焦点未点击按钮。
  • IE (Win) - 切换时,按钮似乎一直处于某种焦点,并且在切换到 i 时按钮会有一些额外的焦点。
  • 总而言之,当表单内的项目具有焦点时,只需按 Enter 键即可“单击”提交按钮。

我想结论应该是这样的:

  1. 不同的浏览器表现不同。即使是相同的浏览器在不同的操作系统 (FF) 上的行为也会有所不同。

  2. 表单的默认行为是按回车键将使用表单中的第一个提交按钮提交表单。

  3. 我认为在 tab 键时焦点不会点击按钮是一个遗憾,因为我认为相当多的用户在点击 enter 之前希望焦点在项目上。

或者你说什么……?

于 2010-02-26T07:51:35.623 回答
-1

您不必定义选项卡索引,您不妨放弃它们——除非您想在它们按创建排序时修改它们的自然顺序。尝试将它们完全取出,看看它是否更符合您的喜好。

于 2010-02-25T14:34:56.843 回答