一、form表单因某些操作会自动提交并刷新页面
测试网页时,发现网页每次都会自动提交,发出请求。经过查找和测试,发现是form表单会自动提交,从而导致页面自动刷新。
二、form表单自动提交规则
-
form表单中只有一个type=text的input(可以有其他类型的表单),在input中按enter键,会自动提交
-
form表单中有多个type=text的input,且无type=submit的按钮元素,则在input中按enter键,不会自动提交
-
form表单中有type=submit的按钮元素,点击按钮元素或者在input中按enter键,会自动提交
-
form表单中有type=button的按钮元素且有多个input元素,点击按钮元素或者在input中按enter键,不会自动提交
三、阻止表单的自动提交
所以在form表单的提交中我们往往要阻止表单的自动提交,阻止页面自动刷新,运用ajax异步获取数据动态刷新页面的效果,下列有两种办法:
3.1 在Html中
<form onsubmit="return false">
<input type = "text">
<input type = "submit">submit
</form>
3.2 在Js中
我们需要给表单添加submit事件,并在事件中组织submit事件的默认事件。
var form = document.getElementsByTagName('form')[0];
form.addEventListener('submit',function(e){
var event = e || window.event;
event.preventDefault();
});