if(typeof($("#name").val())==="undefined"){
window.alert("用户名不可以为空!!");
return;
}
这样也不对 if(typeof($("#name").val())=="undefined"){
window.alert("用户名不可以为空!!");
return;
}
 if($("#name").val()==""){
window.alert("用户名不可以为空!!");
return;
} if(!$("#name").val()){
window.alert("用户名不可以为空!!");
return;
}不管用户名填还是不填,这句话都执行了,这是为什么,小白求教啊....jqueryjs字符为空

解决方案 »

  1.   


    $("#name").val().length < 1
      

  2.   

    if($("#name").val()==""){
        window.alert("用户名不可以为空!!");
        return false;
    }
    这是正确的方法。不过你得检查一下id="name"是不是存在或者有没有与input的ID冲突
      

  3.   

    在简单环境下测试
    if($("#name").val()=="") 
    是成立的,你看看别的地方的问题,
    特别是你用name这种html关键字做变量名的时候
      

  4.   

    #name的val为空时,typeof 可能是string
      

  5.   

    楼主把空,null,undefined搞混了,
    它本来就是string,你要是用val()取个object 回来哪才怪呢。元素的属性只能是string
      

  6.   


    这样子的写法没试过,如果是undefined呢
    $.trim($("#id").val())这样子试试咯
      

  7.   

    第四个没有看出来什么问题,哪位大神能发下第四个的问题呢
    它本来就是string,你要是用val()取个object 回来哪才怪呢。元素的属性只能是string
      

  8.   


    它本来就是string,你要是用val()取个object 回来哪才怪呢。元素的属性只能是string你是说
    ($("#name").val()) == ($("#name").val()==true)
      

  9.   

    使用正则表达式,split 空字符串,如果下标0的字符长度为0,就判断用户没有输入
      

  10.   

    是(!$("#name").val()) == ($("#name").val()==null)
    它本来就是string,你要是用val()取个object 回来哪才怪呢。元素的属性只能是string你是说
    ($("#name").val()) == ($("#name").val()==true)
    它本来就是string,你要是用val()取个object 回来哪才怪呢。元素的属性只能是string你是说
    ($("#name").val()) == ($("#name").val()==true)
      

  11.   

    如果$("#name").length ==0 ,那就是页面没有此对象,如果大于0 $("#name").val()这是可以拿到知道的,如果没有写值就是空字符串
     if($("#name").length==0 && $("#name").val()=="")){
         alert("用户名不可以为空!!");
    }
      

  12.   

    如果$("#name").length ==0 ,那就是页面没有此对象,如果大于0 $("#name").val()这是可以拿到值的,如果没有写值就是空字符串
     if($("#name").length>0 && $("#name").val()=="")){
         alert("用户名不可以为空!!");
    }