HTMLFormElement.reset() 当把触发事件的button id改为"reset "

测试地址:demo
在这个 demo 里,form 表单是可以重置的,但把触发事件的 button id:resetForm 改为 reset 后,报错:
https://img2.mukewang.com/5c7f2b8c0001c06905780146.jpg

这个问题以前也碰到过,想知道这是为什么?

test.html

<!DOCTYPE html>

<html>

<head>

  <meta charset="utf-8">

  <meta name="viewport" content="test reset()">

  <title>JS Bin</title>

</head>

<body>

  <form id="myForm">

    <input type="text"><br/>

    <input type="text"><br/>

    <input id="resetForm" type="button" value="reset">

  </form>

</body>


<script>

window.onload = function() {

  var reset = document.getElementById("resetForm");

  reset.onclick = function() {

    document.getElementById("myForm").reset()

  }

}

</script>

</html>


慕雪6442864
浏览 528回答 2
2回答

慕的地8271018

你把 ID 设置成&nbsp;submit&nbsp;也不行.&nbsp;submit&nbsp;和&nbsp;reset&nbsp;是表单内input的两个type功能按钮. 不能设置为&nbsp;ID. 你直接把<input type="reset">就行了

喵喔喔

这个是表单历史 API ,可以直接通过 form.formElementName 或 form.formElementId 来获取表单内的元素,所以这句代码:document.getElementById("myForm").reset()运行到document.getElementById("myForm").reset的时候,实际上是在 myForm 表单里获取了 name='reset' 或者 id='reset' 的元素,然后执行 () 当然会报错,不信你可以试试:console.log(myform.reset===reset) //返回true
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript