我想做一个点击提交按钮后,该按钮被禁用的效果,但是没有达到预期的效果。如图1。
图1
代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="">
<button type="submit">submit</button>
<button type="reset">reset</button>
</form>
<script>
document.forms[0].addEventListener("submit", function () {
this.elements[0].disabled = true;
debugger
}, false);
</script>
</body>
</html>
当执行的时候,debugger的状态下禁用成功,如图2。
图2
但是继续执行后,禁用效果不见了。如图3。
图3
请问是哪里出现了错误?
<script>
document.forms[0].addEventListener("submit", function (event) {
event.preventDefault()
this.elements[0].disabled = true
}, false)
</script>
<script>
document.forms[0].addEventListener("submit", function() {
//阻止默认事件
event.preventDefault();
this.elements[0].disabled = true;
}, false);
</script>
需要先阻止提交表单的默认动作。不然等于页面被刷新了。你要的效果也无法实现。
页面被刷新了, 你应该阻止默认事件.