改了一个小项目,里面有一个小的问题他们是这样提需求的。两个输入框,第一个输入框里面,输入的内容会对第二个输入框中的内容产生影响。具体是这样的:如果第一个输入框中的值不是“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>

最新文章

  1. kafka(logstash) + elasticsearch 构建日志分析处理系统
  2. wdk中ramdisk代码解读
  3. 搭建TFS 2015 Build Agent环境(三)
  4. ZeroMQ接口函数之 :zmq_poll - I/O多路技术
  5. sql 中set和select区别
  6. The connection to adb is down, and a severe error has occured.问题解决方法小结
  7. opencl初体验
  8. 《BI那点儿事》Microsoft 顺序分析和聚类分析算法
  9. 矩阵乘法&amp;矩阵快速幂&amp;矩阵快速幂解决线性递推式
  10. A Brief Introduction to Markovs Chains
  11. HDU 5489 Removed Interval (LIS变形)
  12. CString 转换成 char *
  13. Swift字符串的插入、删除和替换-备
  14. 59 pages的Delphi源码
  15. ACdream 1020 The Game about KILL
  16. yii2 resetful 授权验证
  17. 紧跟腾讯大王卡:B站2233卡“基友号”即将上线
  18. Printer for Me
  19. 如何通过dba_hist_active_sess_history分析数据库历史性能问题
  20. Cacti日志时区问题

热门文章

  1. Gradle中的闭包
  2. Git 下载代码简单说明
  3. PHP 单例模式优点意义及如何实现
  4. 第一次JVM分析记录:Out of Memory Error (workgroup.cpp:96), pid=6196, tid=139999645685504
  5. 同事搭一个测试RAC说节点2发现idle了,报ORA-00304
  6. 批量插入一张表的数据,并且生成不同的uuid 字符截取 批量更新 去除重复数据
  7. eShopOnContainers 知多少[3]:Identity microservice
  8. JNI实战(三):JNI 数据类型映射
  9. 关于:未能加载文件或程序集“ICSharpCode.SharpZipLib”或它的某一个依赖项异常的解决方案
  10. 超级简单!把文档转换成网页格式(Core)