2016-04-07 11 views
1

私は表形式でフォームを作成しました。テーブル内の入力フィールドが最大長に達すると、次にフォーカスするようにします。私はjqueryコードを使用していますが、その入力はtdではなくてしか動作しません。以下のコードは次のとおりです。GoogleフォームをExcelシートに保存

$(".inputs").keyup(function() { 
    var index = $('.inputs').index(this) + 1; 
    $('.inputs').eq(index).focus(); 
}); 

table htmlコード:

<form> 
    <table> 

     <tr> 

      <td class="custom_header">First Name* </td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

      <td><input class="input" type="text" maxlength="1" required/></td> 

     </tr> 
    </table> 

</form> 

そしてそれは非常に多くの入力を持っているとして、Googleの形態として、このフォームを送信するためにどのように?

+0

あなたは "Googleの形" とはどういう意味ですか? [Googleフォームアプリ](https://www.google.com/forms/about/)で作成したフォームについてお話ししていますか? –

答えて

0

<input />tabinex属性を使用してみてください。働いている次の例:

<form> 
     <table> 
      <tbody> 
       <tr> 
        <td> 
         <input tabindex="0" class="input" type="text" maxlength="1" required/> 
        </td> 
        <td> 
         <input tabindex="1" class="input" type="text" maxlength="1" required/> 
        </td> 
        <td> 
         <input tabindex="2" class="input" type="text" maxlength="1" required/> 
        </td> 
        <td> 
         <input tabindex="3" class="input" type="text" maxlength="1" required/> 
        </td> 
        <td> 
         <input tabindex="4" class="input" type="text" maxlength="1" required/> 
        </td><br /> 
        <td> 
         <input tabindex="5" class="input" type="text" maxlength="1" required/> 
        </td> 
        <td> 
         <input tabindex="6" class="input" type="text" maxlength="1" required/> 
        </td> 
       </tr> 
      </tbody> 
     </table> 
    </form> 
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.3.min.js"></script> 
<script> 
    $(document).ready(function() { 
     $('.input').on('keyup', function(e) { 
      var input = $(this), 
      nextInput = $('input[tabindex="' + (Number(input.attr('tabindex')) + 1) + '"]'); 

      // If current input value is reached max limit and if there is any next input 
      // then it will make focus to it. 
      input.val().length == input.attr('maxlength') && nextInput.length && nextInput.focus() 
       }); 
       }); 
    </script> 
+0

ありがとう@Vikramこれは、あなたが私はどのようにGoogleフォームでそれを使用するかについて教えてくれますか?私はこれらのフィールドをGoogleフォームを通じてExcelシートに保存しなければならないということです。 –

+0

@JyotiRawat、詳しく説明できますか?正確に何を達成したいのですか?この問題をよりよく理解するには、コードを熟読してください。 – Vikram

+0

私はグリッドレイアウト(表形式)のフォームを持っています私はユーザーが入力した詳細を保存できるGoogleフォームとしてフォームを使用したいExcelシートに保存する必要があります。非常に多くの入力フィールドがあるので、tabindexは競合しています。したがって、入力フィールドの中には、入力したコードが機能していて、入力フィールドの中には機能していないものがあります。 https://jsfiddle.net/jyotirawat/jgkvtbbj/ –

関連する問題