我的表单情况如下:
<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事件啊?
求救...

解决方案 »

  1.   

    我真的很想不明白,为什么明明type设置的是“image”结果去触发了表单提交?
      

  2.   

    兄台,你确定button有type为image的吗?
      

  3.   

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

  4.   

    我刚才查阅了一下w3c标准,button有3个type:'submit'    'reset'   'button',而默认值为'submit'。
    你的是input,弄错了,不过根据w3c的解释<input type='image' />定义的是一个"图像形式的提交按钮",应该跟<input type='submit' />的默认点击行为差不多吧。
      

  5.   

    怎么没有触发onclick事件? 
    你在 Toggle()函数中alert(11111111111); 阻塞后就能看到结果了。
    两个都触发了
      

  6.   

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

  7.   

    在click事件中return false,组织type='submit'的默认提交行为。
      

  8.   

    看来我还是不够熟练,原来type='submit'是不能通过return false阻止的 :(