为什么验证不适用于此功能?

时间:2019-08-15 01:57:29

标签: javascript html dom-events

我正在尝试验证表单(很简单,它只有一个输入和一个按钮),但是我的JS代码不起作用。

window.onload = iniciar;

function iniciar() {
  document.getElementById("btn").addEventListener('submit', validar);
}

function validaNombre() {
  var elemento = document.getElementById("nombre");
  if (elemento.value = "") {
    alert("por favor verifica el campo nombre");
    return false;
  } else {
    return true;
  }
}

function validar(e) {
  if (validarNombre()) {
    alert("Se envio el elemento");
  } else {
    e.preventDefault();
  }
}
<form action="" method="GET" id="miForm">
  <br>
  <label>Name*</label><br>
  <input type="text" class="b1" id="nombre" maxlength="32" name="name">
  <br><br><br>
  <input type="submit" id="btn" value="Registrar">
  <br>
</form>

1 个答案:

答案 0 :(得分:0)

submit事件与表单(而不是按钮)一起出现。

您在函数名称validaNombre中也有一个错字。而且您必须使用==进行比较,而不是=

window.onload = iniciar;

function iniciar() {
  document.getElementById("miForm").addEventListener('submit', validar);
}

function validarNombre() {
  var elemento = document.getElementById("nombre");
  if (elemento.value == "") {
    alert("por favor verifica el campo nombre");
    return false;
  } else {
    return true;
  }
}

function validar(e) {
  if (validarNombre()) {
    alert("Se envio el elemento");
  } else {
    e.preventDefault();
  }
}
<form action="" method="GET" id="miForm">
  <br>
  <label>Name*</label><br>
  <input type="text" class="b1" id="nombre" maxlength="32" name="name">
  <br><br><br>
  <input type="submit" id="btn" value="Registrar">
  <br>
</form>