同一表单中多个输入字段的非空验证

直接上代码,结构如下:

<form id="user">
        <ul class="form">
            <li>
                <div class="th">姓名:</div>
                <div class="td">
                    <input type="text" class="ipt" value="请输入姓名">
                    <div class="tips">
                        <span>姓名不能为空</span>
                    </div>
                </div>
            </li>
            <li>
                <div class="th">手机:</div>
                <div class="td">
                    <input type="text" class="ipt" value=" ">
                    <div class="tips">
                        <span>请填写手机号</span>
                    </div>
                </div>
            </li>
            <li>
                <div class="th">Email:</div>
                <div class="td">
                    <input type="text" class="ipt" value="  " id="email">
                    <div class="tips">
                        <span>请填写邮箱</span>
                    </div>
                </div>
            </li>
            <li>
                <div class="btn-area">
                    <button type="button" class="btn btn-commit">提交</button>
                </div>
            </li>
        </ul>
    </form>

脚本实现:

/**
 * 去除字符串收尾的空格
 * @param {String} str 需要除去收首尾空格的字符串
 * @return {String} 去除空格后的字符串
 */
function trim(str) {
    return str.replace(/(^\s*)|(\s*$)/g, "");
}
/**
 * 表单的必填项验证
 * @return {Boolean} true or false
 */
function formEmptyCheck() {
    // 获取需要验证的输入框,不要局限于这一行获取相应元素的代码
    var formElements = document.getElementById("user").getElementsByClassName("ipt");
    for (var i = 0; i < formElements.length; i++) {
        if (!trim(formElements[i].value)) {
            formElements[i].focus();
            return false;
        }
    }
    return true;
}


var btnCommit = document.getElementsByClassName("btn-commit")[0];
btnCommit.onclick = formEmptyCheck;
这里做的不仅是一个非空的验证,还是有一个去除输入框输入内容收尾空格的功能,因为大多数情况下,我们想要获取的数据,一般是不希望前后有空格的,没什么实际意义,这里是多加的一个小功能。这里已经实现了对同一个表单中多个输入字段的非空的客户端验证,还可以根据需要对每个非法的输入项做一些相应的操作,比如输入提示之类的。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值