Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.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 如何从水平方向设置html的选项卡顺序?_Javascript_Jquery_Html_Css_Forms - Fatal编程技术网

Javascript 如何从水平方向设置html的选项卡顺序?

Javascript 如何从水平方向设置html的选项卡顺序?,javascript,jquery,html,css,forms,Javascript,Jquery,Html,Css,Forms,我有一个多表单,包含2个输入框和一个提交按钮。我已经为每个输入指定了制表符顺序。我有每个输入类型的选项卡索引。制表符顺序是垂直移动而不是水平移动。它应该进入第一个输入框,第二个输入框,然后提交按钮 下面是代码 <form class="monitorForm" > <div class="monitorAdd"> textbox1 <input type="text" tabindex="1"> textbox2 <input t

我有一个多表单,包含2个输入框和一个提交按钮。我已经为每个输入指定了制表符顺序。我有每个输入类型的选项卡索引。制表符顺序是垂直移动而不是水平移动。它应该进入第一个输入框,第二个输入框,然后提交按钮

下面是代码

<form class="monitorForm" >
  <div class="monitorAdd">
    textbox1  <input type="text" tabindex="1">
    textbox2  <input type="text" tabindex="2">
        <input type="button" tabindex="3" value="submit">
  </div>
</form>
<form class="monitorForm">
    <div class="monitorAdd">
        textbox1        <input type="text" tabindex="1">
        textbox2        <input type="text" tabindex="2">
        <input type="button" tabindex="3" value="submit">
    </div>
</form>
<form  class="monitorForm">
    <div class="monitorAdd">
          textbox1        <input type="text" tabindex="1">
          textbox2        <input type="text" tabindex="2">
         <input type="button" tabindex="3" value="submit">
    </div>
</form>

文本框1
文本框2
文本框1
文本框2
文本框1
文本框2
下面是js代码

$('form').each(function(){

    var list  = $(this).find('*[tabindex]').sort(function(a,b){ return a.tabIndex <      b.tabIndex ? -1 : 1; }),
    first = list.first();
    list.last().on('keydown', function(e){
        if( e.keyCode === 9 ) {
            first.focus();
            return false;
         }
    });
});
$('form')。每个(函数(){
var list=$(this).find('*[tabindex]').sort(函数(a,b){返回a.tabindex

它是一种动态形式,循环出现,包含许多字段。我只想为3个输入字段指定制表符顺序

请帮我解决这个问题。 提前感谢。

jQuery-Way

HTML方式
你可以直接给Tabindex


文本框1
文本框2
文本框1
文本框2
文本框1
文本框2
如果不定义默认为水平的tabindex属性,则不需要任何tabindex或jquery设置不同的选项卡索引。对于你的情况,将其设置为1到9。
set distinct tab index. for your case set it in 1 t0 9.


Like

<form class="monitorForm" >
 <div class="monitorAdd">
    textbox1        <input type="text" tabindex="1">
    textbox2        <input type="text" tabindex="2">
    <input type="button" tabindex="3" value="submit">
 </div>
</form>
<form class="monitorForm">
<div class="monitorAdd">
    textbox1        <input type="text" tabindex="4">
    textbox2        <input type="text" tabindex="5">
    <input type="button" tabindex="6" value="submit">
</div> 
</form>
<form  class="monitorForm">
<div class="monitorAdd">
      textbox1        <input type="text" tabindex="7">
      textbox2        <input type="text" tabindex="8">
     <input type="button" tabindex="9" value="submit">
 </div>
 </form>
喜欢 文本框1 文本框2 文本框1 文本框2 文本框1 文本框2
所有的
选项卡index=1
都将按照从上到下的顺序进行,无论您是将它们放在单个
还是不同的
中。然后轮到
tabindex=2

您的解决方案:

将tabindex更改为1,2,3,4,5,6。。而不是1,2,3,1,2,3


希望这有帮助。:)

指定单个tabindex值,而不是覆盖您的tabindex值


@pushpa:remove js code and remove tabindex attribute,它可以水平工作,你不需要为此做任何事情谢谢。我想,我可以使用jquery的方式添加tabindex。因为它是一个动态的形式,循环出现,包含许多字段。我只想给3个输入字段下订单。所以我不能在HTML中给出单独的索引值。如果想要使用jquery进行垂直选项卡索引呢?它是一种动态形式,循环出现,包含许多字段。我只想为3个输入字段指定制表符顺序。这是一个动态表单,循环出现,包含许多字段。我只想为3个输入字段指定制表符顺序。
<form class="monitorForm" >
    <div class="monitorAdd">
        textbox1        <input type="text" tabindex="1">
        textbox2        <input type="text" tabindex="2">
        <input type="button" tabindex="3" value="submit">
     </div>
</form>
<form class="monitorForm">
    <div class="monitorAdd">
        textbox1        <input type="text" tabindex="4">
        textbox2        <input type="text" tabindex="5">
        <input type="button" tabindex="6" value="submit">
    </div>
</form>
<form  class="monitorForm">
    <div class="monitorAdd">
          textbox1        <input type="text" tabindex="7">
          textbox2        <input type="text" tabindex="8">
         <input type="button" tabindex="9" value="submit">
    </div>
</form>
set distinct tab index. for your case set it in 1 t0 9.


Like

<form class="monitorForm" >
 <div class="monitorAdd">
    textbox1        <input type="text" tabindex="1">
    textbox2        <input type="text" tabindex="2">
    <input type="button" tabindex="3" value="submit">
 </div>
</form>
<form class="monitorForm">
<div class="monitorAdd">
    textbox1        <input type="text" tabindex="4">
    textbox2        <input type="text" tabindex="5">
    <input type="button" tabindex="6" value="submit">
</div> 
</form>
<form  class="monitorForm">
<div class="monitorAdd">
      textbox1        <input type="text" tabindex="7">
      textbox2        <input type="text" tabindex="8">
     <input type="button" tabindex="9" value="submit">
 </div>
 </form>