javascript - 验证表单

标签 javascript css html

IM 正在处理一个简单的表单,我正在尝试验证字段, 使用以下代码,我能够验证该字段并在该字段为空时添加一条消息。

最佳答案

首先您需要扫描页面中的标签:

  var labels = document.getElementsByTagName('LABEL');
  for (var i = 0; i < labels.length; i++) {
    if (labels[i].htmlFor != '') {
      var elem = document.getElementById(labels[i].htmlFor);
      if (elem)
        elem.label = labels[i];
    }
  }

然后您可以简单地在您的 IF-ELSE 条件中使用以下内容,

document.getElementById(id).label.classList.add('red-text');

document.getElementById(id).label.classList.remove('red-text');

我还添加了 CSS 类,使文本变为红色。

.red-text {
  color: #ff0000;
}

最终代码:

function validation(id) {
  var labels = document.getElementsByTagName('LABEL');
  for (var i = 0; i < labels.length; i++) {
    if (labels[i].htmlFor != '') {
      var elem = document.getElementById(labels[i].htmlFor);
      if (elem)
        elem.label = labels[i];
    }
  }
  var value = document.getElementById(id).value;
  if (value === "" || value == null) {
    document.getElementById('Err' + id).innerHTML = "- Field Required";
    document.getElementById(id).classList.add('class');
    document.getElementById(id).label.classList.add('red-text');
  } else {
    document.getElementById('Err' + id).innerHTML = "";
    document.getElementById(id).classList.remove('class');
    document.getElementById(id).label.classList.remove('red-text');
  }
}
.class {
  background: #f97d7d;
  color: #ff0000;
  border: 1px solid #ff0000 !important;
}

.red-text {
  color: #ff0000;
}
<label for="Name">* Name <span class="error" id="ErrName"></span></label>
<input type="text" name="Name" id="Name" onblur="validation('Name')">

关于javascript - 验证表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43829185/

相关文章:

html - 如何在浏览器调整大小中管理分区

javascript - 使用angularjs用另一个图像替换一个图像

javascript - 制作一个html+css页面独立静态

html - CSS继承不继承

html - 如果一个元素的祖先元素的高度 < 100%,有没有办法在不使用 JS 的情况下仍然使它成为浏览器窗口的高度?

javascript - 为什么匹配表情符号的正则表达式也会匹配移动设备上的非表情符号( ' and ")?

javascript - 使用电子邮件/密码进行 Firebase 身份验证

javascript - 使用 Kinetic JS 框架重绘图像

javascript - GMail 使用什么 API 通知浏览器选项卡收到电子邮件?

php - 如何通过表格中的表单发送复选框状态