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

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

  

 <html>

     <head>
<title></title>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
</head> <body>
<h1>input输入框中的空和0的判断</h1>
<input type="text" name="" id="input_one" value="" />
<p class="input_one_con"></p>
<p>判断时候和0相等:<i class="eq_0"></i></p>
<p>判断时候和null相等:<i class="eq_null"></i></p>
<p>判断时候和“”相等:<i class="eq_"></i></p>
<h2>结论:如果是删除了,没有数值了,那么和“”是相等的,但是和null是不相等的</h2>
</body>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
$("#input_one").on("input",function(){
var input_val = $(this).val();
$(".input_one_con").text(input_val);
if(input_val==0){
$(".eq_0").text("true");
}else{
$(".eq_0").text("false");
}
if(input_val==null){
$(".eq_null").text("true");
}else{
$(".eq_null").text("false");
}
if(input_val==""){
$(".eq_").text("true");
}else{
$(".eq_").text("false");
}
})
console.log(null=="");
</script> </html>

输入框中的空"",0,null的判断的更多相关文章

  1. C#中烦人的Null值判断竟然这样就被消灭了

    作者:依乐祝 首发自:DotNetCore实战 公众号 https://www.cnblogs.com/yilezhu/p/14177595.html Null值检查应该算是开发中最常见且烦人的工作了 ...

  2. 关于页面上输入框中 空格 、0 、NULL 的处理 示例

    ep.setPositionNum(get("positionNum").toString()); ep.setClasstype(get("classtype" ...

  3. java 增强for循环对于空集和null的判断

    List<String> list = null; for (String str : list) {//会报空指针异常 System.out.println(str); } List&l ...

  4. 【Unity3D】中的空引用 Null Reference Exception

    Null Reference Exception : Object reference not set to an instance of an object. 异常:空引用,对象的引用未设置到对象的 ...

  5. PHP中0、空、null和false的总结

    php中很多人还不懂php中 0 , '' , null 和 false 之间的区别,这些区别有时会影响到数据判断的正确性和安全性,给程序的测试运行造成很多麻烦.另外在面试题中也会遇到这些问题,如下: ...

  6. 3-java中String值为空字符串与null的判断方法

    java中String值为空字符串与null的判断方法 2018年01月21日 14:53:45 阅读数:1189 Java空字符串与null的区别 1.类型 null表示的是一个对象的值,而不是一个 ...

  7. php中0," ",null和false的区别

    php中很多还不懂php中0,"",null和false之间的区别,这些区别有时会影响到数据判断的正确性和安全性,给程序的测试运行造成很多麻烦.先看一个例子: <? $str ...

  8. JS常用校验方法(判断输入框是否为空,数字,电话,邮件,四舍五入等)

    JS常用校验方法: 1.判断输入框是否为空,为空时弹出提示框 2.关闭窗口 3.检查输入字符串是否为数字 4.强制把大写转换成小写 5.手机号码校验,长度为11位数字. 6.电子邮件校验 7.电话号码 ...

  9. mybatis sql中if判断传入Integer类型,传入0时,判断没有执行

    数据库中字段 isDisable 0:否:1:是 xml中判断 <if test="isDisable != null and isDisable !='' "> AN ...

随机推荐

  1. c#位运算基本概念与计算过程

    前言 一些非常基础的东西,在实际工作中没有用到.很少用到.一旦遇到,又不知所云.最近遇到一个问题,把一个int16(short) .两个bool变量整合成一个int32(int),当听到这个要求时,我 ...

  2. 【公告】关于8.8MIP组件审核平台故障的说明

    故障通报 2017 年 8 月 8 日 下午 14:11,由于机器故障原因,MIP 组件管理平台暂时无法提供服务. 2017 年 8 月 8 日 下午 16:46, 故障已解决.MIP 组件管理平台服 ...

  3. MediatR 知多少

    引言 首先不用查字典了,词典查无此词.猜测是作者笔误将Mediator写成MediatR了.废话少说,转入正题. 先来简单了解下这个开源项目MediatR(作者Jimmy Bogard,也是开源项目A ...

  4. 安卓开发常用icon/png图样

    平时开发当中会用到很多png图样,但是自己又不太会做,因此做好的办法就是直接在网上下载下来用了,这里给大家推荐一个比较好用的网站,免费的,有很多好的png可以直接下载下来使用. http://www. ...

  5. 代码转换为html显示

    需要将代码转换为 html 使其显示好看一些,可以在这里进行装换: https://tohtml.com/ http://hilite.me/

  6. 图解Java线程的生命周期,看完再也不怕面试官问了

    文章首发自个人微信公众号: 小哈学Java https://www.exception.site/java-concurrency/java-concurrency-thread-life-cycle ...

  7. gorm的日志模块源码解析

    gorm的日志模块源码解析 如何让gorm的日志按照我的格式进行输出 这个问题是<如何为gorm日志加traceId>之后,一个群里的朋友问我的.如何让gorm的sql日志不打印到控制台, ...

  8. BFPRT算法

    解决的问题:在一个数组中找到最小的k个数 常规解法:1.排序,输出前k个数,时间复杂度O(n*log(n)). 2.利用一个大小为k的大根堆,遍历数组维持大根堆,最后返回大根堆就可以了,时间复杂度O( ...

  9. 结合JDK源码看设计模式——适配器模式

    定义: 将一个类的接口转换成客户期望的另外一个接口(重点理解适配的这两个字),使得接口不兼容的类可以一起工作适用场景: 已经存在的类,它的方法和需求不匹配的时候 在软件维护阶段考虑的设计模式 详解 首 ...

  10. 项目分层-----MVC

    MVC设计模式:modle层,view层,controller层 以前学习的servlet其实就是一个java类,或者说经过规范的java类,实际进行跳转时,还是要在web.xml文件中配置才能正常跳 ...