Php 使用Tab键时,在文本字段表中从上到下聚焦,而不是从左到右聚焦

Php 使用Tab键时,在文本字段表中从上到下聚焦,而不是从左到右聚焦,php,html,Php,Html,我有一个表格形式的html表格,学生必须在表格中填写他的科目(表格完成后看起来像是课程表)。我在修改tab的行为时遇到问题,我希望它垂直移动,而不是默认的从左到右移动,以允许用户以这种方式填充所有类: 7-8 8-9 9-10 等等,而不是 7-8 有没有一个简单的方法来实现这一点?关于如何在不使用文本框表格的情况下获得学生的课程表的建议也很受欢迎 编辑: 没有看到太多的使用tabindex,因为我正在以从左到右的方式创建表 for($h=0; $h<sizeof($time); $h++

我有一个表格形式的html表格,学生必须在表格中填写他的科目(表格完成后看起来像是课程表)。我在修改tab的行为时遇到问题,我希望它垂直移动,而不是默认的从左到右移动,以允许用户以这种方式填充所有类:

7-8

8-9

9-10

等等,而不是

7-8

有没有一个简单的方法来实现这一点?关于如何在不使用文本框表格的情况下获得学生的课程表的建议也很受欢迎

编辑: 没有看到太多的使用
tabindex
,因为我正在以从左到右的方式创建表

for($h=0; $h<sizeof($time); $h++) {
        echo "<tr><td> " . $time[$h] . "</td>";
        for($i=0; $i<DAYS; $i++)
            echo "<td><input type='text' name='subject[]' id='subject' autocomplete='off' tabindex='" . $k . "'></td>";
        echo "</tr>";
    }

对于($h=0;$h我认为您可以使用tabindex进行这些操作。

我认为您可以使用tabindex进行这些操作。

为输入文本字段提供
tabindex

<input type='text' tabindex="0">
<input type='text' tabindex="1">
<input type='text' tabindex="2">

为该输入文本字段提供
tabindex

<input type='text' tabindex="0">
<input type='text' tabindex="1">
<input type='text' tabindex="2">

您可以在代码中添加一些值来保留tabindex。例如,如果您知道有
$time
行,您可以使用

for($h=0; $h<sizeof($time); $h++) {
    echo "<tr><td> " . $time[$h] . "</td>";
    for($i=0; $i<DAYS; $i++)
        echo "<td><input type='text'... tabindex='" . ($i*count($time)+$h+1) . "'></td>";
    echo "</tr>";
}

对于($h=0;$h您可以在代码中添加一些值来保留tabindex。例如,如果您知道有
$time
行,您可以使用

for($h=0; $h<sizeof($time); $h++) {
    echo "<tr><td> " . $time[$h] . "</td>";
    for($i=0; $i<DAYS; $i++)
        echo "<td><input type='text'... tabindex='" . ($i*count($time)+$h+1) . "'></td>";
    echo "</tr>";
}


for($h=0;$hUse
tabindex
attributeDidn不起作用,因为我正在使用for循环从左到右创建我的表。当你在forloop中时,你可以只附加
tabindex=“”.$I.”“
。如果你想让它运行,那么就需要一个运行像1/4/8/12之类的新计数器:)创造性思维!您需要在自定义顺序中的每个字段上使用此属性。我编辑了我的答案,应该可以。使用
tabindex
attributedDN不起作用,因为我使用for循环从左到右创建表。在forloop中,您只需附加
tabindex=“”。$I.”
不过。如果您希望它以其他方式运行,请获得一个运行方式类似于1/4/8/12或类似于1/4/8/12的新计数器:)创造性思维!您需要在自定义顺序中的每个字段上使用此属性。我编辑了我的答案,应该可以。理解键入某些内容的原因不会有任何伤害。在没有解释的情况下交付代码并不能真正让人理解操作:-翻阅到W3学校的链接会被禁止:)他们将自己描述为这类事情的领先公司,但他们的代码中有更多的错误和安全问题,这对你来说是不好的。理解你为什么键入某些东西从来都没有坏处。不加解释地交付代码并不能真正让人理解操作:-翻看W3学校的链接会让你被禁止:)他们将自己视为这类事情的领先公司,但他们的代码中有更多的错误和安全问题,这对你没有好处,因为我是从从左到右使用for循环。@Gannicus它将起作用,您必须在for循环中提供tabindex。不起作用,因为我正在使用for循环从左到右创建表单元格。@Gannicus它将起作用,您必须在for循环中提供tabindex。@Gannicus我很高兴它能有所帮助。两条建议:1。您可以在循环之前计算
sizeof($time)
(或
count($time)
)的大小(在小提琴中有
$howmanyrows
变量),因此代码会更快,因为每次迭代都不会计算行数;2.有些人认为
++$i
$i++
@Gannicus快,我很高兴它能帮上忙。两条建议:1。您可以在循环之前计算
sizeof($time)
(或
count($time)
)的大小(在小提琴中有
$howmanyrows
变量),因此代码会更快,因为每次迭代都不会计算行数;2.有些人认为
++$i
$i++
快。