我需要将模糊的文本框移动到下一个框。但是,如果检测到错误,则需要再次聚焦。
这是我的代码
<input type="text" id="error_code'" name="errorcode[]" onblur="validate_code(this.id)"/>
function validate_code(id){
var error_code=$("#"+id).val();
if(isNaN(error_code))
{
$('#'+id).val("");
$('#'+id).focus();
}
}
但是这个id没有将焦点设置到同一个文本框。 TNX。
编辑:能够验证并获得结果。但是,如果错误被返回,我的问题是重新聚焦文本框...
答案 0 :(得分:0)
尝试这样的事情......这很有效:
<强> HTML:强>
<input type="text" id="error_code"/>
Jquery模糊功能:
$(document).ready(function(){
$("#error_code").blur(function(){
var error_code=$(this).val();
if(isNaN(error_code)) {
$(this).val("");
$(this).focus();
}
});
});
答案 1 :(得分:0)
你需要尝试这样的事情。
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<div id="example">
<div>
<input type="text" id="error_code" name="errorcode[]" onblur="validate_code(this.id)"/>
</div>
<script>
function validate_code(id){
var error_code=$("#"+id).val();
if(isNaN(error_code)) {
setTimeout(function() {
$('#'+id).val("");
$('#'+id).focus();
}, 0);
}
}
</script>
</div>
</body>
</html>
在jQuery的情况下,它已经尝试将焦点设置到该字段。它将阻止进一步的焦点事件到现场。你需要用这样的东西来解决它。