フォーム フィールドから次のフィールドに自動的にジャンプできる JavaScript コードがあります。
固定長フィールドを使用して機能します。
例: フィールド TIME には 4 つの数字しか入力できないため、ユーザーが 4 番目の数字を入力すると、スクリプトは次のフィールドにフォーカスします。
うまくいきますが、機能を追加したいと思います。
可変長フィールドで使用したい。私のフィールドは LASTNAME (スペース) FIRSTNAME の最初の文字で構成されています。
例: John Doe は「Doe J」と入力されます
私が考えることができる唯一のトリックは、スペースが押された+別の文字が入力されたときにフィールドをシフトさせることです. これは、可変長の姓の任意の組み合わせで関数を実行できる唯一の繰り返しパターンです。
それで、それを実装する方法はありますか?js初心者です!元のコードは次のとおりです。
<SCRIPT TYPE="text/javascript">
<!--
var downStrokeField;
function autojump(fieldName,nextFieldName,fakemaxlength)
{
var myForm=document.forms[document.forms.length - 1];
var myField=myForm.elements[fieldName];
myField.nextField=myForm.elements[nextFieldName];
if (myField.maxlength == null)
myField.maxlength=fakemaxlength;
myField.onkeydown=autojump_keyDown;
myField.onkeyup=autojump_keyUp;
}
function autojump_keyDown()
{
this.beforeLength=this.value.length;
downStrokeField=this;
}
function autojump_keyUp()
{
if (
(this == downStrokeField) &&
(this.value.length > this.beforeLength) &&
(this.value.length >= this.maxlength)
)
this.nextField.focus();
downStrokeField=null;
}
//-->
</SCRIPT>