输入`type = image` onclick解决方案有效,但是为什么呢?

时间:2018-12-30 23:25:50

标签: javascript html css image button

使用输入type=image标签和onclick来运行一些JavaScript时出现问题。与输入type=button完美搭配使用,但是在图像输入上使用时,它将运行更改DOM的脚本(将图像添加到div),但会在第二,添加的图像显示为短暂的闪光,然后消失。

因此,我使用Google最终找到了解决方案。我改变了:

<input type="image" id="greenGoButton" src="Images2/goButton.png" alt="Submit" onclick="loopForm(document.thisForm); getPlates(document.thisForm);">

收件人:

<input type="image" id="greenGoButton" src="Images2/goButton.png" alt="Submit" onclick="loopForm(document.thisForm); getPlates(document.thisForm); return false;">

因此,添加一个return false;语句可以解决该问题。

但是为什么呢?这使我烦恼。为什么在按钮上没有return false的情况下却无法工作,而在使用图像的情况下却无法工作?当然,互联网上到处都是由图像组成的按钮。

1 个答案:

答案 0 :(得分:1)

默认情况下,type='image'创建一个按钮,该按钮提交封闭表格并重新加载页面,方法是在点击处理程序的末尾添加return false,这是在告诉Javascript阻止默认行为,即提交表单并重新加载页面。

您还可以访问点击处理程序中的事件对象,并在其上调用preventDefault(),而不必在最后进行return falseevent.preventDefault()也会做同样的事情。

简而言之,事件处理程序末尾的return false可防止发生默认行为