最近做项目时,发现button的onclick事件在没有form时是正常工作的。如果把button放到form中,类似:
<form action="xxx">
<button οnclick="yyy"></button>
</form>
在网上找了下资料后,终于解决了,记录如下:
button中的type 属性规定了按钮的类型。Internet Explorer 的默认类型是 "button",而其他浏览器中(包括 W3C 规范)的默认值是 "submit"。我用的是谷歌浏览器,默认也是“submit”,所以button的onclick事件会被form的action所取代。解决方法是指定button的type类型为button。类似如下:
<form action="xxx">
<button οnclick="yyy" type=“button”></button>
</form>