Passcoder是我已经发布并将发布的jQuery库。它将输入字段分成单字符输入框(如iPhone密码)。其中一个功能是将焦点放在下一个输入点上,然后按下一个按钮。jquery .next('input')。focus()
问题似乎是.next('.passcoder')
没有做到预期的。在第一行输入(employee_name输入)时,它的行为将与预期相同,但是当它应该关注第一个密码输入(从第四个员工名称到密码)时,.next('.passcoder')
不会返回任何内容。
的标记:
<form action="" method="post"
<h4>Employee Number</h4>
<input type="text" class="single-character-name passcoder" name="employee_number-0">
<input type="text" class="single-character-name passcoder" name="employee_number-1">
<input type="text" class="single-character-name passcoder" name="employee_number-2">
<input type="text" class="single-character-name passcoder" name="employee_number-3">
<br>
<h4>Employee Passcode</h4>
<input type="password" class="single-character-password passcoder" name="employee_passcode-0">
<input type="password" class="single-character-password passcoder" name="employee_passcode-1">
<input type="password" class="single-character-password passcoder" name="employee_passcode-2">
<input type="password" class="single-character-password passcoder" name="employee_passcode-3">
<br />
<br />
<input class="btn btn-success" type="submit">
<a class="btn">Cancel</a>
</form>
的JavaScript(jQuery的):
$('.passcoder').keyup(function(e){
if (e.which == 8){
//backspace
$(this).prev('input').focus();
}
else if(e.which > 47 && e.which < 58){
$(this).next('.passcoder').focus();
}
else{
$(this).val('');
return false;
}
});
$(本).VAL( '');而不是价值() – mkutyba
对不起,我在这里粘贴它后,在代码中解决了这个问题。对不起,关于 –