forms - HTML5 中的验证。 :invalid classe after submit

标签 forms html css

我正在构建一个表单,我想使用 :invalid 选择器为“必填”输入字段提供红色边框,如果用户在没有填写它们的情况下按下提交,但使用它会使它们在页面加载时突出显示。在给用户至少填写一次的机会之前就给用户这样的警告似乎是不友好的。

有没有办法让这些字段仅在尝试提交表单后才显示突出显示,换句话说,有没有办法只有在单击提交后才运行验证(或者至少失去对必填输入字段的关注?)

最佳答案

我在我的一个元素中使用了这种方法,因此只有在提交后才会突出显示无效字段:

HTML:

<form>
  <input type="email" required placeholder="Email Address">
  <input type="password" required placeholder="Password">
  <input type="submit" value="Sign in">
</form>

CSS:

input.required:invalid {
    color: red;
}

JS(jQuery):

$('[type="submit"]').on('click', function () {
    // this adds 'required' class to all the required inputs under the same <form> as the submit button
    $(this)
        .closest('form')
        .find('[required]')
        .addClass('required');
});

关于forms - HTML5 中的验证。 :invalid classe after submit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7576190/

相关文章:

javascript - 将样式添加到 textarea 的特定行

javascript - 测验应用程序中的按钮状态

javascript - 动态表单输入上的 jquery 验证插件不起作用

python - 一个 View 上的 Django 多个表单

javascript - javascript 中的递归以使用具有单个父元素的子元素构建 HTML

CSS 分线器

html - ASCII 字符 62 在 Superfish 菜单中显示不正确

javascript - 表单字段中的 html 标记不起作用

c# - 从另一个表单刷新 dataGridView

javascript - 从函数中使用数据加载器时,Amchart 未显示