使用ascii 46` .`(句点)无法关注下一个输入字段

时间:2017-03-31 06:36:19

标签: javascript jquery

我有一个带有4个文本框的表单,用于IPv4 addy条目,当用户按下句号ascii#46时,我希望将焦点移动到下一个文本字段。

以下JS / jQ(我基本上解除了:Move Cursor to next text Field pressing Enter)适用于输入(13),esc甚至空格char(32)的ascii代码:

<script language ="javascript" type="text/javascript" >
    function ipfNext() {
      //alert( 'FUNC ipfNext' );
      $( document ).ready( function()  {
        $( '#formContent .inputTextIpf').keydown( function( e )  {
          if( e.keyCode == 46 ) {
            $( ':input:eq(' + ( $( ':input' ).index( this ) + 1 ) + ')' ).focus();
            return false;
          } // close IF 
        }); // close FUNC e
      }); // close docReady FUNC
    } // close FUNF ipfNext
  </script>

但似乎没有触发常规打印ascii代码,如46 .。如何修改代码以允许常规的ascii打印字符在按下时启动字段选项卡?

使用ascii控件字符但不能打印字符的HTML输入字段

<input type="text" id="ipf1" name="ipf1" class="inputTextIpf" maxlength="3" onkeyup="return ipfNext();" value=
        <?php
        if ( !empty( $_SESSION[ 'ipf1' ] ) ) {
          echo '"' . $_SESSION[ 'ipf1' ] . '"> . ';
        } else {
          echo '""> . ';
        } // close IF
      ?>

1 个答案:

答案 0 :(得分:6)

参考:https://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes,句点.的密钥代码为190而不是46. 46的密钥代码根据同一页面引用DEL键。