wuruize888
2017-05-19 05:42
采纳率: 88.2%
浏览 1.3k

query,表单验证问题,谢谢各位帮忙

 //验证configmodel表单信息
$(function () {

    var checkok = false;
    var slen = $("#scode").val().length;

    $("#scode").blur(function () {
        var errmsg = "<p id=\"errscode\" style=\"color:red;\">此处不能小于4位!请重新填写。</p>";
        if (slen < 4) {
            $("#errscode").remove();
            $("#scodeerr").append(errmsg);
            checkok = false;
        } 
        if(slen > 4){
            $("#errscode").remove();
            checkok = true;
        }
    }); 

    $("#configsubmit").click(function () {
        if (checkok === true) {
            $("#configsubmit").click(function () {
                return true;
            });
        }else{
            return false;
        }
    });
});


<form id="">
<input id="scode" type="text">
<input type="submit" id="" value="ok">

</form>
<div id="scodeerr">?</div>

有错误信息可以附加上去,但是输入框值输对了也删除不了已经附加的信息。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

13条回答 默认 最新

  • 已采纳
         $("#scode").blur(function () {
            var slen = $("#scode").val().length;///////////////放里面来,要不slen永远为0【初始状态的值,得到的不是输入后的】,除非scode有值
            var errmsg = "<p id=\"errscode\" style=\"color:red;\">此处不能小于4位!请重新填写。</p>";
            if (slen < 4) {
                $("#errscode").remove();
                $("#scodeerr").append(errmsg);
                checkok = false;
            }
            if(slen > 4){
                $("#errscode").remove();
                checkok = true;
            }
        });
    
    点赞 打赏 评论
  • FEN_TA 2017-05-19 05:47

    把错误信息的标签加隐藏属性,验证错误的时候显示出来,验证成功的时候隐藏信息

    点赞 打赏 评论
  • 知春秋 2017-05-19 05:53

    if(slen > 4){
    $("#errscode").html("");
    checkok = true;
    }

    点赞 打赏 评论
  • FEN_TA 2017-05-19 05:58

    var el = document.getElementById('errscode');
    el.parentNode.removeChild(el);

    点赞 打赏 评论
  • 梦昼初PurpleShell 2017-05-19 06:00

    slen是你这个值一直没变吧

    点赞 打赏 评论
  • 梦昼初PurpleShell 2017-05-19 06:06

    可以打断点调试看看slen值变了没有,再看 $("#errscode")能不能获取到相关元素,能获取到,就可以直接remove()的

    点赞 打赏 评论
  • 蘑菇小包子 2017-05-19 06:14

    jQuery表单验证插件,你值得拥有

    点赞 打赏 评论
  • 半杯凉月 2017-05-19 06:39

    把var slen = $("#scode").val().length;这行放在 $("#scode").blur(function () {});方法里面,你的slen始终是0

    点赞 打赏 评论
  • 撸三发 2017-05-19 07:01
     <script type="text/javascript">
                //验证configmodel表单信息
                $(function () {
    
                    var checkok = false;
                    var slen;
    
                    $("#scode").blur(function () {
                        var errmsg = "<p id=\"errscode\" style=\"color:red;\">此处不能小于4位!请重新填写。</p>";
                        slen = $("#scode").val().length;
                        if (slen < 4) {
                            $("#errscode").remove();
                            $("#scodeerr").append(errmsg);
                            checkok = false;
                        } 
                        if(slen > 4){
                            $("#errscode").remove();
                            checkok = true;
                        }
                    }); 
    
                    $("#configsubmit").click(function () {
                        if (checkok === true) {
                            $("#configsubmit").click(function () {
                                return true;
                            });
                        }else{
                            return false;
                        }
                    });
                });
            </script>
    
    
    
    <form id="">
    <input id="scode" type="text">
    <input type="submit" id="" value="ok">
    
    </form>
    <div id="scodeerr">?</div>
    
    点赞 打赏 评论
  • qq_35876262 2017-05-19 07:26

    var errmsg = $("

    此处不能小于4位!请重新填写。

    ");
    errmsg.detach();
    点赞 打赏 评论
  • qq_35876262 2017-05-19 07:27

    把你的errmsg拼接的html转成jq对象,然后再进行删除,可以直接$('

    ')
    点赞 打赏 评论
  • qq_35876262 2017-05-19 07:34

    或者提前将报错内容放在那里,用display:none;隐藏,用jq修改内容,需要时候显示,不需要隐藏就行了

    点赞 打赏 评论
  • sunshine_0518 2017-05-22 05:59

    //验证configmodel表单信息
    $(function () {

    var checkok = false;
    var slen = $("#scode").val().length;
    
    $("#scode").blur(function () {
          //第一次如果填写的slen不符合标准则附加错误信息,当改变输入框的值是,光标移动之后应先将之前的错误信息清空,如下
             $("#scodeerr").clear();
        var errmsg = "<p id=\"errscode\" style=\"color:red;\">此处不能小于4位!请重新填写。</p>";
                var slen = $("#scode").val().length;
        if (slen < 4) {
            $("#errscode").remove();
            $("#scodeerr").append(errmsg);
            checkok = false;
        } 
        if(slen > 4){
            $("#errscode").remove();
            checkok = true;
        }
    }); 
    
    $("#configsubmit").click(function () {
        if (checkok === true) {
            $("#configsubmit").click(function () {
                return true;
            });
        }else{
            return false;
        }
    });
    

    });

    ?
    点赞 打赏 评论

相关推荐 更多相似问题