Tôi muốn tạo "NumPad", nơi tôi có thể nhập mã khóa gồm 4 chữ số vào trường nhập. Sau khi tôi nhấp vào bốn nút, nút gửi được nhấn. Tôi tìm thấy một vài đoạn mã và nó hoạt động nếu tôi sử dụng bàn phím. Đây là cách xa tôi đến:đếm ký tự trong trường nhập và sau đó gửi
function addNum(num){
document.getElementById('login').value += num;
}
$('#login').keyup(function(){
if(this.value.length == 4){
$('#enter').click();
}
});
#numpad {
width: 200px;
}
.row {
width: 100%;
}
.number {
min-width: 26%;
height: 60px;
float: left;
border: 1px solid;
margin: 10px;
vertical-align: middle;
display: block;
font-size: 2em;
padding-top: 8px;
padding-left: 30px;
-webkit-border-radius: 15px;
-moz-border-radius: 15px;
border-radius: 15px;
}
a:hover .number {
background: black;
color: white;
}
<form action="action.php" method="post" name="loginform" id="loginform">
<input type="password" class="form-control" name="login" id="login">
<input type="submit" id="enter" value="Submit">
</form>
<div id="numpad">
<div class="row">
<a href="#" onClick="addNum('1');"><div class="number">1</div></a>
<a href="#" onClick="addNum('2'); return false"><div class="number">2</div></a>
<a href="#" onClick="addNum('3'); return false"><div class="number">3</div></a>
</div>
<div class="row">
<a href="#" onClick="addNum('4'); return false"><div class="number">4</div></a>
<a href="#" onClick="addNum('5'); return false"><div class="number">5</div></a>
<a href="#" onClick="addNum('6'); return false"><div class="number">6</div></a>
</div><div class="row">
<a href="#" onClick="addNum('7'); return false"><div class="number">7</div></a>
<a href="#" onClick="addNum('8'); return false"><div class="number">8</div></a>
<a href="#" onClick="addNum('9'); return false"><div class="number">9</div></a>
</div>
</div>
Bạn quên bao gồm jQuery trong Snippet ngăn xếp. Có một trình đơn thả xuống để chọn jQuery. – Xufox
Hãy thử .change() thay vì .keyup(). – Lewis
Một giải pháp thay thế sẽ là kết nối với sự kiện 'thay đổi' và nếu giá trị là số có 4 chữ số, biểu mẫu sẽ được gửi. RegEx để xác định một số có 4 chữ số đơn giản: '^ \ d {4} $' –