输入框中的空"",0,null的判断
改了一个小项目,里面有一个小的问题他们是这样提需求的。两个输入框,第一个输入框里面,输入的内容会对第二个输入框中的内容产生影响。具体是这样的:如果第一个输入框中的值不是“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的判断的更多相关文章
- C#中烦人的Null值判断竟然这样就被消灭了
作者:依乐祝 首发自:DotNetCore实战 公众号 https://www.cnblogs.com/yilezhu/p/14177595.html Null值检查应该算是开发中最常见且烦人的工作了 ...
- 关于页面上输入框中 空格 、0 、NULL 的处理 示例
ep.setPositionNum(get("positionNum").toString()); ep.setClasstype(get("classtype" ...
- java 增强for循环对于空集和null的判断
List<String> list = null; for (String str : list) {//会报空指针异常 System.out.println(str); } List&l ...
- 【Unity3D】中的空引用 Null Reference Exception
Null Reference Exception : Object reference not set to an instance of an object. 异常:空引用,对象的引用未设置到对象的 ...
- PHP中0、空、null和false的总结
php中很多人还不懂php中 0 , '' , null 和 false 之间的区别,这些区别有时会影响到数据判断的正确性和安全性,给程序的测试运行造成很多麻烦.另外在面试题中也会遇到这些问题,如下: ...
- 3-java中String值为空字符串与null的判断方法
java中String值为空字符串与null的判断方法 2018年01月21日 14:53:45 阅读数:1189 Java空字符串与null的区别 1.类型 null表示的是一个对象的值,而不是一个 ...
- php中0," ",null和false的区别
php中很多还不懂php中0,"",null和false之间的区别,这些区别有时会影响到数据判断的正确性和安全性,给程序的测试运行造成很多麻烦.先看一个例子: <? $str ...
- JS常用校验方法(判断输入框是否为空,数字,电话,邮件,四舍五入等)
JS常用校验方法: 1.判断输入框是否为空,为空时弹出提示框 2.关闭窗口 3.检查输入字符串是否为数字 4.强制把大写转换成小写 5.手机号码校验,长度为11位数字. 6.电子邮件校验 7.电话号码 ...
- mybatis sql中if判断传入Integer类型,传入0时,判断没有执行
数据库中字段 isDisable 0:否:1:是 xml中判断 <if test="isDisable != null and isDisable !='' "> AN ...
随机推荐
- Windows环境下springboot集成redis的安装与使用
一,redis安装 首先我们需要下载Windows版本的redis压缩包地址如下: https://github.com/MicrosoftArchive/redis/releases 连接打开后如下 ...
- Python 转化成 PB 格式数据
一.概述 Protocol Buffers 是 Google 公司开发的一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化.它很适合做数据存储或 RPC 数据交换格式.可用于通讯 ...
- .net相关知识
1.简述 private. protected. public. internal 修饰符的访问权限. private : 私有成员, 在类的内部才可以访问. protected : 保护成员,该 ...
- 同一容器中a标签比较多的情况下通过title属性值隐藏
同一容器中a标签比较多的情况下如何通过title属性值控制a标签的隐藏或显示 最近项目中遇到一个IE兼容性问题,网站需要在底部footer添加"站长统计"代码,容器中动态添加很多a ...
- SpringBoot1
内容:
- 三、 redis进阶篇
1. redis事务 使用方法:方法为先发送multi命令告诉redis,下面所有的命令属于同一个事务,先不要执行,而是把他们暂时存起来,redis返回OK,然后后面执行需要放在同一个事务里的命令,可 ...
- Windows Server 2016-DNS客户端新增功能
域名系统(DNS)是包含TCP / IP的行业标准协议套件之一,DNS客户端和DNS服务器一起为计算机和用户提供计算机名称到IP地址映射名称解析服务. 在Windows Server 2016中,DN ...
- 浅析 jQuery 内部架构设计
jQuery 对于大家而言并不陌生,因此关于它是什么以及它的作用,在这里我就不多言了,而本篇文章的目的是想通过对源码简单的分析来讨论 jQuery 的内部架构设计,以及 jQuery 是如何利用Jav ...
- spring boot 2.0 集成 shiro 和 pac4j cas单点登录
新开的项目,果断使用 spring boot 最新版本 2.0.3 ,免得后期升级坑太多,前期把雷先排了. 由于对 shiro 比较熟,故使用 shiro 来做权限控制.同时已经存在了 cas ...
- 测试 ASP.NET Core API Controller
本文需要您了解ASP.NET Core MVC/Web API, xUnit以及Moq相关知识. 这里有xUnit和Moq的介绍: https://www.cnblogs.com/cgzl/p/917 ...