zoukankan      html  css  js  c++  java
  • 输入框中的空"",0,null的判断

      改了一个小项目,里面有一个小的问题他们是这样提需求的。两个输入框,第一个输入框里面,输入的内容会对第二个输入框中的内容产生影响。具体是这样的:如果第一个输入框中的值不是“0”,那么第二个输入框就不能填写任何的数据,只能默认“0”。只有当第一个输入框中输入0的时候,第二个输入框才是可以输入的。这个需求同样的很简单。在自己测试的时候出现了一个小问题,就是当用户删除第一个输入框的内容的时候,居然没有走(input_val==“”)的这个判断,而是走的(input_val==0)的这个判断,当时有点懵逼啊。很是不理解。现在来整理一下,方便下次的时候使用。

      其实当我们删除输入框的内容的时候,我们取到的值确实是"",但是这个时候js进行判断时候,会出现一个隐形的转换,就是0==“”是true,所以这个时候我们的条件就有错了。因为我们是用的if else判断的,而且我把这个判断等于0卸载了最上面,所以就这个时候就出错了。这里给自己记录一下,捎带着我自己写了一个测试的小demo,这里直接附上代码。直接粘贴到编辑器然后运行就可以了。

      

     1 <html>
     2 
     3     <head>
     4         <title></title>
     5         <meta charset="UTF-8" />
     6         <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
     7     </head>
     8 
     9     <body>
    10         <h1>input输入框中的空和0的判断</h1>
    11         <input type="text" name="" id="input_one" value="" />
    12         <p class="input_one_con"></p>
    13         <p>判断时候和0相等:<i class="eq_0"></i></p>
    14         <p>判断时候和null相等:<i class="eq_null"></i></p>
    15         <p>判断时候和“”相等:<i class="eq_"></i></p>
    16         <h2>结论:如果是删除了,没有数值了,那么和“”是相等的,但是和null是不相等的</h2>
    17     </body>
    18     <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    19     <script type="text/javascript">
    20         $("#input_one").on("input",function(){
    21             var input_val = $(this).val();
    22             $(".input_one_con").text(input_val);
    23             if(input_val==0){
    24                 $(".eq_0").text("true");
    25             }else{
    26                 $(".eq_0").text("false");
    27             }
    28             if(input_val==null){
    29                 $(".eq_null").text("true");
    30             }else{
    31                 $(".eq_null").text("false");
    32             }
    33             if(input_val==""){
    34                 $(".eq_").text("true");
    35             }else{
    36                 $(".eq_").text("false");
    37             }
    38         })
    39         console.log(null=="");
    40     </script>
    41 
    42 </html>
  • 相关阅读:
    Call to a member function assign() on a non-object;thinkphp中报错
    jquery或js 获取url参数
    使Sublime Text支持除UTF8外多种编码
    Sublime Text 3 安装Package Control
    jquery zoom jquery放大镜特效
    金币阵列问题
    goole进不去?
    算法分析习题(1)
    C /C ++中结构体的定义
    linux .zip 解压命令集
  • 原文地址:https://www.cnblogs.com/daniao11417/p/9897273.html
Copyright © 2011-2022 走看看