检测表单提交时是否为空

一、表单不能为空提交提醒

在做一个管理员系统的时候,有一个和后台对接的问题,就是前端表单提交过去的数据不能存在空白的字段。当时解决的方式是,使用原生js来进行DOM的操作,从而进行判断,弹框的操作。

之后,在浏览社区的时候,发现,表单有一个事件onSubmit ,这个事件,可以理解为在表单提交前一刻会进行触发,这时候,我们可以给这个事件传递一个回调函数,并且在回调函数中,进行是否 存在空白表单的验证代码,以及提醒的代码。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src = "checkNull.js"></script>
</head>
<body>
//表单在进行提交的前一刻会调用onsubmit事件,这个事件会接受checkInput这个函数的返回值。
    <form action="" onsubmit = "return checkInput(this)">
        <input type="text" placeholder="请输入用户名">
        <input type="text" placeholder="请输入密码">
        <input type="submit">
    </form>
    
</body>
</html>
​
​
​
<script>
    function checkInput(form) {
    for (let i = 0; i < form.length; i++) {
        alert("进来了");
        if (form.elements[i].value == "") {
            alert("请您输入" + form.elements[i].placeholder);
            form.elements.onfocus();
            //这里返回一个Boolean值,从而确定表单是否能够提交
            return false;
        }
    }
}
</script>
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C知道中,当用户提交某个表单且其中包含某些必填字段为空,我们会将对应的表单输入框的边框变红,以提示用户该字段不能为空。具体实现的方法如下: 首先,在我们的表单组件中,我们需要针对每个必填字段添加一个相应的验证规则。例如,在 el-input 组件中,我们可以使用 required 属性让该组件成为必填项: ``` <el-input v-model="username" placeholder="请输入用户名" required></el-input> ``` 然后,在用户提交表单,我们需要检查每个必填字段是否已经被填写。如果检测到某个必填字段为空,我们就可以将对应的输入框的边框设置为红色。可以使用以下代码来实现这一功能: ``` submitForm() { // 检查必填项是否已经填写 if (!this.username) { // 如果用户名未填写,则将对应的输入框边框变为红色 document.querySelector('#username input').style.borderColor = 'red'; return; } // 如果所有必填项都已填写,则提交表单 ... } ``` 注意,在上述代码中,我们使用了 document.querySelector 来获取对应的输入框,并将其边框颜色设为红色。这里的 '#username input' 是一个 CSS 选择器,表示选择 id 为 username 的元素下的 input 子元素。这样,我们就可以很方便地找到对应的输入框并设置其边框颜色了。 当然,如果我们希望在用户填写后立即检测出必填项为空,而不是在用户提交表单才进行检测,那么还可以使用 el-form 组件的 validate 方法,例如: ``` <el-form ref="form" :model="form" :rules="rules"> <el-form-item label="用户名" prop="username"> <el-input v-model="form.username" placeholder="请输入用户名"></el-input> </el-form-item> ... </el-form> this.$refs.form.validate((valid) => { if (valid) { // 表单验证通过,可以提交表单了 ... } else { // 表单未通过验证 // 可以在这里针对每个输入框进行边框变红等操作 } }) ``` 这样,就可以在用户填写后立即检测出必填项为空,而不必等到用户提交表单才进行检测了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值