javascript - 如何判断所有输入框不能为空?
伊谢尔伦
伊谢尔伦 2017-04-11 11:27:29
[JavaScript讨论组]

需求

  • 点击新增要素值按钮,表格增加一行

  • 点击提交的时候校验所有输入框是否为空

  • 判断所有要素值输入框是否为数字

疑问

先看如下代码:

// 判断是否有新增要素输入框未填写
$("#elementManageTbody tr").each(function () {
   if ($(this).find('input').val() == "") {
       console.log('false');
   } else {
       console.log('true');
   }
});

如果按照以上循环的方式来写,遍历每一个输入框并判断它是否为空,为空则返回 false ,不为空则 true,与需求冲突。

实际需求是判断所有 input 同时不能为空!!

请教

  • 有什么好方法去实现此需求?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(3)
怪我咯

你的提交如果是用的默认的form和submit就给input加个required属性。
是其他的话:
点击提交的事件回调里这么写
遍历所有input的值(根据需求看是否要去空格),有一个为空直接return不再向下之执行不就好了。
判断是否为数字就不用判断是否为空了,记得用正则验证是否为数字,因为输入的数字获取后会变成string.
需要做提示就对当前input进行处理再return。

伊谢尔伦

你遍历的时候使用for(var i = 0 ; i < arr.length ; i++){}这样去遍历,就可以return了

或者你用标记去做。在.each外面做个标记,如果里面出现false,就把标记改为false。不就可以了吗?

天蓬老师

在你源代码上做了些修改,看能不能满足你的需求:

var status;
status = true;//每次判断前所有input都为空,status为true
$("#elementManageTbody tr").each(function () {
   if ($(this).find('input').val() == "") {
       //
   } else {
       status = false;//循环有一个input不为空则将status改为false
   }
});
//最终根据status的状态判断input是不是全部为空
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号