javascript - 基于表单字段验证添加类
问题描述
我正在尝试根据字段的状态向我的表单字段添加类。
这是我想要实现的流程:
- 用户第一次看到表单
- 用户单击
first name
表单字段。 - 用户没有在
first name
表单字段中输入任何内容并单击其他地方。 - 将类添加
.cForm__error
到first name
字段。 - 用户看到
first name
字段为空并单击该字段以添加文本。 .cForm__error
从该字段中删除类。
到目前为止,这是我的方法:
$(function() {
const form_field = $(".cForm__formField");
$(form_field).focus(function() {
$(this).addClass("cForm__hasText");
});
$(form_field).blur(function() {
if (this.value === '') {
$(this).removeClass("cForm__hasText");
} else{
$(this).addClass("cForm__error");
}
});
});
.cForm__hasText {
border: 2px solid blue;
}
.cForm__error {
border: 2px solid red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous"></script>
<input class="cForm__formField" type="text" placeholder="first name">
目前,该.cFrom__hasText
课程正在出现,但我需要该.cFrom__error
课程展示自己并在初始关注后留在那里。
解决方案
我认为你只是把你的一些逻辑弄错了。以下似乎完全符合您的描述。我假设您想cForm__hasText
在用户在字段中键入内容时添加该类。
$(function() {
const form_field = $(".cForm__formField");
$(form_field).focus(function() {
$(this).removeClass("cForm__error");
});
$(form_field).blur(function() {
if (this.value === '') {
$(this).addClass("cForm__error");
} else{
$(this).addClass("cForm__hasText");
}
});
});
.cForm__hasText {
border: 2px solid blue;
}
.cForm__error {
border: 2px solid red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous"></script>
<input class="cForm__formField" type="text" placeholder="first name">
推荐阅读
- javascript - nodejs依次运行数组中定义的作业
- python-3.x - pandas 按该类别的平均值填充空值
- python - 使用poseexplode分解带有索引的嵌套JSON
- javascript - 为什么单击带有 href 的 Rails link_to 锚点到服务器不会产生 DomContentLoaded 事件?
- python - Python 3 - 将可变数量的列表合并为一个
- html - 如何扩展 div 使其从上到下覆盖
- html - 当它成为菜单下拉菜单时,如何删除边框?(角度)
- javascript - 使用 querySelectorAll 从标签的所有属性中提取值
- ios - Kotlin Native 项目中 iOS 上的 libPhonenumber(来自 Google)
- linux - 在 Ubuntu/Linux 中查找准确的物理内存使用情况