输入按钮时触发的图像输入onclick事件被按下

时间:2010-03-24 05:24:30

标签: javascript html forms xhtml

我遇到一个奇怪的问题,当我在输入文本框中按Enter键时,输入图像上的onclick事件被触发

<form id="MyForm" action="/someaction">

<input type="image" src="someimage.jpg" onclick="doStuff();$('#MyForm').submit();" />

<input type="text" name="textInput"/>

</form>

当光标在文本框中并按下回车键时,而不是正在提交的表单,它会调用图像输入上的onclick事件。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

我认为在很多情况下按“输入”按钮会算作点击,包括链接。如果你想让你的动作只在使用鼠标时执行,那么考虑使用onmousedown或onmouseup而不是onclick,我建议你使用后者。

答案 1 :(得分:0)

当您按Enter键时,会在输入图像上触发onclick事件。我将<img>包裹在<a>中,因为您单独调用submit(),因此输入元素是多余的。

答案 2 :(得分:0)

所以我有一个类似的问题,它只发生在IE浏览器中。 Chrome和Firefox正常工作。当从输入框点击进入时,它将触发第一个输入类型=&#34;图像&#34;我们不想要的,因为它会向IE发送多个请求,并且在输入几次后它会崩溃。

快速简单的解决方法虽然不是最好的解决方案,但我们使用的是假输入类型=&#34;图像&#34; onclick返回值为false之前的其他值,以便被触发的那个实际上不会触发请求。不是正确的根解决方案,而是一个好的临时解决方