Formvalidation中的JavaScript错误消息

Formvalidation中的JavaScript错误消息,javascript,forms,validation,error-messaging,Javascript,Forms,Validation,Error Messaging,我在删除表单验证中的自定义错误消息时遇到困难。每次我提交表单时,消息都会复制,如果字段有效,我不知道如何删除它们。我很高兴听到你的回答 form.onsubmit = function valCheck(ev) { ev.preventDefault(); var fields = ev.target console.log(fields); var nameVal = /^[a-zA-ZäÄüÜöÖáàiìíéèóòúù `´,.'-]+$/; var emailVal

我在删除表单验证中的自定义错误消息时遇到困难。每次我提交表单时,消息都会复制,如果字段有效,我不知道如何删除它们。我很高兴听到你的回答

form.onsubmit = function valCheck(ev) {
  ev.preventDefault();

  var fields = ev.target
  console.log(fields);

  var nameVal = /^[a-zA-ZäÄüÜöÖáàiìíéèóòúù `´,.'-]+$/;
  var emailVal = /[^\s@]+@[^\s@]+\.[^\s@]+/;

  for (var i = 0; i < formLen; i++) {
    var errorText = document.createElement('P');
    div[i].appendChild(errorText);
    console.log(errorText);

    if (fields[i].value === "") {
        errorText.innerHTML = "This field should not be empty"
    }
    else if (fields[i].type == "text") {
      if (!fields[i].value.match(nameVal)) {
        errorText.innerHTML = "no numbers allowed"
      }
    }
    else if (fields[i].type == "email") {
      if (!fields[i].value.match(emailVal)) {
        errorText.innerHTML  = "insert a valid adress"
      }
    }
    else if (fields[i].type == "checkbox") {
      if (!fields[i].checked) {
        errorText.innerHTML = "checkbox need to be checked"
      }
    }
    else if (fields[i].type == "radio") {
      if (fields[i].checked) {
        errorText.innerHTML = "you need to select something"
      }
    }
  }
}
form.onsubmit=函数值检查(ev){
ev.preventDefault();
var字段=ev.target
console.log(字段);
var nameVal=/^[a-zA-Zä196;ü220;öÖáiìèòù`,.-]+$;
var emailVal=/[^\s@]+@[^\s@]+\.[^\s@]+/;
对于(变量i=0;i
我相信您可以在验证之前将空值分配给
errorText.innerHTML

form.onsubmit = function valCheck(ev) {
  ev.preventDefault();

  errorText.innerHTML = '';

  // setting non-empty errorText.innerHTML if form is not valid
  // ...
}

每次执行此操作时,它都会创建并附加一个新的P元素。在添加P元素之前,您可以尝试检查是否有P元素,如果已经有P元素,请使用该元素,而不是附加另一个新元素。您能告诉我这可能是什么样子吗?我试过了,但要么没有显示消息,要么根本不起作用。你可以做一些简单的事情,比如在创建元素时给元素一个id,但在创建元素之前,请检查document.getElementByID以查看它是否存在。比如var errTextField=document.getElementByID('errorText');如果(errTextField){errTextField.innerHTML=“Hello,World!”}或者{var errorText=document.createElement('P');…..,当您当前创建它时。我在for循环中指定了errorText,因此如果我在您建议的地方编写它,js无法检测到它,您知道解决方案吗?