1

我有一个表单,其输入具有所需的属性。但是,我不希望表单正常提交,但它使用 ajax。因此,我将表单操作设置为javascript:void(0)。但是这样做会使required属性无用。它没有不工作

我该如何解决?

这是我的表格

<form action="javascript:void(0)"> <input name="email" required> </form>`
4

3 回答 3

4

所以使用表单上的提交处理程序并取消默认操作。

document.querySelector("#myForm").addEventListener("submit", function (evt) {
  evt.preventDefault();
  // do you ajax submission here
  console.log('submitted')
})
<form id="myForm">
  <label for="email">email:</label> <input id="email" name="email" type="email" required>
  <button>Submit</button>
</form>

于 2020-06-02T18:48:22.377 回答
0

如果您自己提交,您可以使用以下方式检查表单的有效性

if (form.checkValidity()) {
  // submit via XHR etc...
} else {
  // the form is not valid
}

看到这个这个

于 2020-06-02T18:41:39.897 回答
0

这样做可以帮助你

<form name="myForm">
  <input name="email" required>
  <input type="submit" value="submit">
</form>
<script>
  document.myForm.onsubmit = e => {
    e.preventDefault();
  }
</script>

于 2020-06-02T19:29:17.130 回答