我有一个textbox控件,当用户在里面输入数字是,必须是10的倍数或空,如果不是,则光标不离开,还在此控件中

解决方案 »

  1.   

    JS 验证onblur 失去焦点 好像是这个 
      

  2.   

    你可以这么来  当失去焦点的时判断文本是否符合你的条件 不符合就让textbox重新获得焦点  反之往下面走
      

  3.   

    jq$("#txt").blur(function(){
       var val=$.trim($(this).val());
       if((val!=""&&isNaN(parseInt(val)))||parseInt(val)%10!=0))
       {
          $(this).focus();
       }
    })
      

  4.   

    我就是用js写了一个验证,在textbox的onblur事件里,但是当它不符合我的要求时,还是会跳到下一个textb里面去
      

  5.   

    手写的,没测试,有问题自己改改 function IsNumber() {
                var reg = /^[0-9]*$/;
                var num = $.trim($("#txtNum").val());
                if (num.length == 0) {
                    alert("请输入");
                    $("#txtNum").focusin();
                    return false;
                }
                if (!reg.test(num)) {
                    alert("只能输入整数");
                    $("#txtNum").focusin();
                    return false;
                }
                else {
                    var number = parseInt(num);
                    if (number % 10 == 0) {
                        return true;
                    }
                    else {
                        alert("输入整数不是10的倍数");
                        $("#txtNum").focusin;
                        return false;
                    }
                }
            }   <asp:TextBox ID="txtNum" runat="server" onkeyup="IsNumber();"></asp:TextBox>
      

  6.   

        <script type="text/javascript">
            $(function () {
                $("#txt").blur(function () {
                    var val = $.trim($("#txt").val());
                    var flag = false;                if ((val != "" && isNaN(parseInt(val))) || (!isNaN(parseInt(val)) && parseInt(val) % 10 != 0)) {
                        $("#txt").focus();
                        return false;
                    }
                })
            })
        </script>
    这个写法兼容IE,不兼容火狐。
      

  7.   

    解决兼容性的方法是,将focus的方法放在setTimeout里面
        <script type="text/javascript">
            $(function () {
                $("#txt").blur(function () {
                    var val = $.trim($("#txt").val());
                    var flag = false;                if ((val != "" && isNaN(parseInt(val))) || (!isNaN(parseInt(val)) && parseInt(val) % 10 != 0)) {
                        setTimeout(function () { $("#txt").focus(); }, 1);
                        return false;
                    }
                })
            })
        </script>