![](/img/trans.png)
[英]for OTP input field Enable the button only when all 6 digits are filled
[英]Enable submit button when all OTP input fields are entered
我有以下 html 和 javascript
<div class="SMS" id="otp">
<div class="SMS-wrapper">
<div class="SMSItem otp">
<input minlength="1" maxlength="1" name="OTPcode" autocomplete="off" class="SMS_Input" pattern="[0-9]+" type="number" id="code1" onkeyup="onkeyUpEvent(1,event)">
</div>
<div class="SMSItem otp">
<input minlength="1" maxlength="1" name="OTPcode" autocomplete="off" class="SMS_Input" pattern="[0-9]+" type="number" id="code2" onkeyup="onkeyUpEvent(1,event)">
</div>
<div class="SMSItem otp">
<input minlength="1" maxlength="1" name="OTPcode" autocomplete="off" class="SMS_Input" pattern="[0-9]+" type="number" id="code3" onkeyup="onkeyUpEvent(1,event)">
</div>
<div class="SMSItem otp">
<input minlength="1" maxlength="1" name="OTPcode" autocomplete="off" class="SMS_Input" pattern="[0-9]+" type="number" id="code4" onkeyup="onkeyUpEvent(1,event)">
</div>
</div>
</div>
<div id="divButtons" class="buttonContainer" data-kaction="submitDiv" style="display:block">
<input type="button" name="btnOTP" id="btnOTP" value="submit" class="btn-primary submitbutton disabled">
</div>
我编写了以下 javascript 以在输入所有 OTP 字段时启用提交按钮。 但是提交按钮仍然被禁用。 我正在尝试找出解决方案并在此过程中学习。
$(document).ready(function() {
var filled = true;
$('.otp').change(function() {
$('#otp input[type=number]').each(function() {
if($(this.val() == '') {
filled = false;
}
});
return filled;
if (filled) {
$('#btnOTP').removeClass('disabled');
} else {
$('#btnOTP').addClass('disabled');
}
})
});
使用return
时要小心,它将退出函数,我也更改了事件调用,因为不推荐使用.change
$('.otp').on('change', function () {
let filled = true
$('#otp input[type=number]').each(function () {
if ($(this.val() == '') )
filled = false;
});
if (filled) {
$('#btnOTP').removeClass('disabled');
} else {
$('#btnOTP').addClass('disabled');
}
})
几处更正:
$(document).ready(function() {
var filled = true;
$('.otp').change(function() {
$('#otp input[type=number]').each(function() {
if ($(this.val() == '')) {
filled = false;
return false;
}
});
if (filled) {
$('#btnOTP').removeClass('disabled');
} else {
$('#btnOTP').addClass('disabled');
}
})
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.