转自:http://baiying.blog.51cto.com/1068039/1319784
html按钮有两种:
<input type="button" value="登录" onclick="login()"/>
和<button onclick="login()">登录</button>
这两种在页面上看起来好像一样没什么区别,但是这两种是有区别的。
1,如果在<form id="loginForm" name="loginForm" action="<%=path%>/hdlogin/login.action" method="post"></form>
标签中,使用<input type="button" value="登录" onclick="login()"/>,要想提交form,
你必须写成<input type="submit" value="登录" onclick="login()"/>,
或者document.loginForm.submit();否则form是不会提交的。
2,如果在form中使用<button onclick="login()">登录</button>只要点击就会提交。
<button type="submit" value="登录" onclick="login()"/>。
今天在使用<button></button>时,我又在js控制表单提交,结果这个action总是莫名其妙的走两次!
根源就是表单提交了两次,一次是<button></button>,一次是document.loginForm.submit();
这个错误很隐蔽,大家以后要注意。