Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正在更改选项卡索引;“运行时”;自找麻烦?_Javascript_Html_Tabindex - Fatal编程技术网

Javascript 正在更改选项卡索引;“运行时”;自找麻烦?

Javascript 正在更改选项卡索引;“运行时”;自找麻烦?,javascript,html,tabindex,Javascript,Html,Tabindex,现在,我正在开发一个dojo小部件,它充当一段用户信息的验证小部件。主要概念是有一个带有嵌套输入的div和一个带有进一步嵌套输入的嵌套div,因此基本上: <div id="top"> <input name="pass"> <div id="collapse"> <input name="passvalidate"> </div> </div> 假设发生的情况是,如果pass中

现在,我正在开发一个dojo小部件,它充当一段用户信息的验证小部件。主要概念是有一个带有嵌套
输入的
div
和一个带有进一步嵌套
输入的嵌套
div
,因此基本上:

<div id="top">
    <input name="pass">
    <div id="collapse">
        <input name="passvalidate">
    </div>
</div>

假设发生的情况是,如果
pass
中没有任何内容,则
passvalidate
不应被访问,而
collapse
应被折叠和隐藏。我现在实现这一点的方法是锁定
pass
输入字段的
keydown
事件,如果键是tab,并且
pass
字段不是空的,则
passvalidate
tabindex
会更改,以便可以用tab将其锁定

如果选中验证字段,并且再次选中用户选项卡,则它们将被带到页面顶部,因为
passvalidate
的实际元素位于页面底部,远离它似乎在tabflow中的位置

我的实现很好。我没有遇到任何错误,这就是为什么我只发布psudocode。然而,团队中的另一位开发人员似乎愿意在不必要的情况下修改元素的
tabindex
。如果没有更复杂和硬编码的处理程序来确保它们不能在不应该的时候进入验证字段,我真的想不出其他方法来实现这一点


因此,底线问题是,用tabindex编程更改tabflow是否是确保这种行为的安全方法,或者我是否可能遇到浏览器可能会对定期更改其页面的tabindex做出负面反应的问题?

我认为动态更改tabflow不是正确的做法,可用性方面。也许您可以显示一条验证消息,用户可以单击该消息转到相关字段?或者,如果你想改变设计,甚至可以滚动到该字段,如果我可以的话,但客户希望有这个抽屉功能。在整个表单中,屏幕上也会弹出大量的验证消息。