JS表单无法提交

时间:2019-10-16 06:53:37

标签: javascript

使用javascript验证表单后,我无法将其提交到服务器

myForm.addEventListener("submit", validation);
  function validation(e) {
  let data = {};
  e.preventDefault();
  errors.forEach(function(item) {
 item.classList.add("cart__hide");
   });

在验证结束时,我有以下代码

    if (!error) {
      myForm.submit();
     }

我也尝试过

     if (error = false) {
     myForm.submit();
      }

     if ((error == false)) {
     myForm.submit();
        }

当我处理日志错误时,我得到了所有false,因此应该提交表单。 我收到以下控制台日志错误

  

TypeError:myForm.submit不是函数

我在html页面上做了同样的验证,并且效果很好。现在,我试图使其在PHP页面上运行,并且不会提交。 我不确定为什么myForm.submit()会导致错误。 谢谢 乔恩

2 个答案:

答案 0 :(得分:2)

从您的代码中删除e.preventDefault();并将其放在您的验证函数中,如下所示:

if (error) {
  e.preventDefault(); 
}

答案 1 :(得分:2)

您需要做的是仅在发生错误时调用Event#preventDefault

myForm.addEventListener("submit", validation);

function validation(e) {
  var error = !form.checkValidity(); // replace this with the actual validation
  if (error) e.preventDefault();
}
<form>
  <input type="text">
  <input type="submit" value="submit">
</form>