日期:2014-05-16  浏览次数:20323 次

关于触发onsubmit困惑,求解
我的表单情况如下:
<form method="POST" name="form" onsubmit="javascript:return validate();" action="Search.aspx";>
触发onsubmit的标签如下:
<input type="submit" value="搜索"/>

现在的问题是,我点击其他按钮(type设定的为image),代码如下:
<input id="AdIcon" type="image" onclick="Toggle('AdIcon', 'AdItemDiv')" src="expand.gif"/>
为什么没有触发onclick事件而是出发了onsubmit事件啊?
求救...

------解决方案--------------------
根据html标准,input 的 type=image 的涵义与 type=submit 相同,只是可以用图片替代提交的按钮。所以 type=image 直接触发 onsubmit 事件。 

------解决方案--------------------
我刚才查阅了一下w3c标准,button有3个type:'submit' 'reset' 'button',而默认值为'submit'。
你的是input,弄错了,不过根据w3c的解释<input type='image' />定义的是一个"图像形式的提交按钮",应该跟<input type='submit' />的默认点击行为差不多吧。
------解决方案--------------------
怎么没有触发onclick事件? 
你在 Toggle()函数中alert(11111111111); 阻塞后就能看到结果了。
两个都触发了
------解决方案--------------------
探讨

谢谢楼上的~可是我还是有一点不明白,设定了onclick事件,不会拦截onsubmit么?

------解决方案--------------------
探讨
谢谢楼上的~可是我还是有一点不明白,设定了onclick事件,不会拦截onsubmit么?