输入框中的空"",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 ...
随机推荐
- JAVA线程及简单同步实现的原理解析
线程 一.内容简介: 本文主要讲述计算机中有关线程的相关内容,以及JAVA中关于线程的基础知识点,为以后的深入学习做铺垫.如果你已经是高手了,那么这篇文章并不适合你. 二.随笔正文: 1.计算机系统组 ...
- java提高(15)---java深浅拷贝
#java深浅拷贝 一.前言 为什么会有深浅拷贝这个概念? 我觉得主要跟JVM内存分配有关,对于基本数据类型,只存在栈内存,所以它的拷贝不存在深浅拷贝这个概念.而对于对象而言,一个对象的创建会在内存中 ...
- 【Python3爬虫】最新的模拟登录新浪微博教程
一.写在前面 首先呢,由于之前重装系统,又要重新配置环境,然后还有一些别的事,导致我一直没有写爬虫了,不过现在又可以继续写了. 然后我这次说的模拟登录新浪微博呢,不是使用Selenium模拟浏览器操作 ...
- Android App渗透测试工具drozer,Qark,Androguard
一. drozer简介 drozer(以前称为Mercury)是一款Android安全测试框架. drozer允许您通过承担应用程序的角色并与Dalvik VM,其他应用程序的IPC端点和底层操作系统 ...
- 基于ArcGISServer进行分页矢量查询的方案进阶
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 在空间查询中,我们对查询结果要求以分页形式进行展示.G ...
- Git - git branch - 查看远端所有分支
索引: 目录索引 一.示例: git branch -r 二.说明: 该命令将列出仓库中所有存在的远端分支,无论该分支是否已签出到本地. 蒙 2018-09-29 19:59 周六
- 关于wordpress升级遇到的问题
前几天登录我的博客后台,发现可以升级了,顺手点了一下,但顺接出现了几个报错,然后这里记录一下解决方法: 1.出现“另一更新正在进行”的错误解决: 这是因为可能你上次更新失败了,或者WordPress在 ...
- 如何用GoldWave批量删除mp3文件开头65秒?
具体操作如下: 一.打开goldwave--文件--批处理 二.批处理设置: 添加需处理的文件或文件夹(右侧) 1.转换:设置转换格式. 2.处理: ...
- 量化投资技术分析工具---ipython使用
量化投资实际上就是分析数据从而做出决策的过程python数据处理相关模块NumPy:数组批量计算pandas:灵活的表计算Matplotlib:数据可视化 学习目标:用NumPy+pandas+Mat ...
- Excel日期中那个著名的bug
一个软件中的bug能够持续多久?答案不一,大多数bug在软件测试阶段就已经被干掉,又有许多死在Preview阶段,抑或正式上线后不久被干掉,有些则伴随软件终生,直到下一代产品发布才寿终正寝,而Exce ...