日期:2014-05-16  浏览次数:20364 次

jQuery代码说缺少分号,这是怎么回事?
使用Myeclipse编辑的jsp网页,里面有多个input输入框,要求输入的内容只能是数字[0-5],其他内容一律提示错误,同时将焦点放在发生错误的input中

$("input").blur(function() {
var v = $(this).val();
var res = /^\d$/.test(v);
if (res && (v <= 5 && v >= 0)) 
return true;   //提示缺少分号
else{
alert("您输入的值不对");
$(this).focus();    //提示缺少分号
}
});


程序运行时,如果输入有错误,不停地弹出错误提示.

------解决方案--------------------
木有看出来哪里有错误
建议把这段代码注释掉再看看,还有木有错
------解决方案--------------------
都加上 return 试试....
------解决方案--------------------
有可能不是这里出的问题。。建议用chrome调试,报错会准一点
------解决方案--------------------
else里面加上return false看看
------解决方案--------------------
$(document).ready(function(){
$("input").blur(function() {
    var v = $(this).val();
    var res = /^\d$/.test(v);
    if (res && (v <= 5 && v >= 0)) 
        return true;   //提示缺少分号
    else{
        alert("您输入的值不对");
        $(this).focus();    //提示缺少分号
        }
});
});
这样试试吧
------解决方案--------------------
;;有什么区别
------解决方案--------------------

$("input").blur(function() {
    var v = $(this).val();
    var res = /^[0-5]$/.test(v);
    if (res){
         return true;
    }
     else{
        alert("Error");//提示缺少分号
         $(this).focus();    //设置焦点
         return false;
    }
});

------解决方案--------------------
测试代码正常

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> 
<input type="text" />
<script type="text/javascript">

$("input").blur(function() {
var v = $(this).val();
var res = /^\d$/.test(v);
if (res && (v <= 5 && v >= 0)) 
return true;   //提示缺少分号
else{
alert("您输入的值不对");