使用输入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
的情况下却无法工作,而在使用图像的情况下却无法工作?当然,互联网上到处都是由图像组成的按钮。
答案 0 :(得分:1)
默认情况下,type='image'
创建一个按钮,该按钮提交封闭表格并重新加载页面,方法是在点击处理程序的末尾添加return false
,这是在告诉Javascript阻止默认行为,即提交表单并重新加载页面。
您还可以访问点击处理程序中的事件对象,并在其上调用preventDefault()
,而不必在最后进行return false
; event.preventDefault()
也会做同样的事情。
简而言之,事件处理程序末尾的return false
可防止发生默认行为