フィールドの に到達したJavascipt
ときに、あるフィールドから次のフィールドにユーザーを自動的に送信することは可能ですか?maxlength
もしそうなら、どのように?
フィールドの に到達したJavascipt
ときに、あるフィールドから次のフィールドにユーザーを自動的に送信することは可能ですか?maxlength
もしそうなら、どのように?
jqueryを使用してこのようなコードを使用できます。このコードでは、テキストが20文字を超えると、#secondフィールドに移動します
<input id="first"/>
<input id="second"/>
<script>
$(function() {
$('#first').keypress(function() {
var self = $(this);
//wait until character is inserted
setTimeout(function() {
if (self.val().length > 20) {
$('#second').focus();
}
}, 1);
});
});
</script>
$('#productkey1').keyup(function() {
if(this.value.length >= $(this).attr('maxlength'))
{
$('#productkey2').next().focus();
}
});
はい、それは可能です。テキストボックスの最大長が5であるとします。関数onkeyupイベントを作成し、テキストボックス値の長さをカウントする必要があります。この関数では、長さが5以上の場合、2番目のテキストボックスフォーカス関数呼び出しを記述する必要があります。
はい、イベントごとにフィールドに挿入された文字の数を計算する必要があります。そのonkeyup
数がmaxlengthと等しい場合は、focus
を次のフィールドに設定します。
onfocus
まず、入力が測定を開始していることを知るために、イベントにフックする必要があります。onkeyup
次に、入力した文字の長さをイベントで確認する必要があります。制限に達したらfocus()
、カーソルを移動する次の DOM 要素を呼び出すことができます。onblur
また、入力の長さの測定を停止したことを知るために、イベントを使用する必要があります。
たとえば、jQuery を使用します。
<input id="inputA" type="text"/>
<input id="inputB" type="text"/>
<script>
var $input;
$('#inputA').focus(function() {
$input = $(this);
});
$(window).keyup(function() {
if($input && $input.val().length == 5) {
$('#inputB').focus();
}
});
$('#inputA').blur(function() {
$input = null;
});
</script>