我遇到一个奇怪的问题,当我在输入文本框中按Enter键时,输入图像上的onclick事件被触发
<form id="MyForm" action="/someaction">
<input type="image" src="someimage.jpg" onclick="doStuff();$('#MyForm').submit();" />
<input type="text" name="textInput"/>
</form>
当光标在文本框中并按下回车键时,而不是正在提交的表单,它会调用图像输入上的onclick事件。
有什么想法吗?
答案 0 :(得分:1)
我认为在很多情况下按“输入”按钮会算作点击,包括链接。如果你想让你的动作只在使用鼠标时执行,那么考虑使用onmousedown或onmouseup而不是onclick,我建议你使用后者。
答案 1 :(得分:0)
当您按Enter键时,会在输入图像上触发onclick事件。我将<img>
包裹在<a>
中,因为您单独调用submit()
,因此输入元素是多余的。
答案 2 :(得分:0)
所以我有一个类似的问题,它只发生在IE浏览器中。 Chrome和Firefox正常工作。当从输入框点击进入时,它将触发第一个输入类型=&#34;图像&#34;我们不想要的,因为它会向IE发送多个请求,并且在输入几次后它会崩溃。
快速简单的解决方法虽然不是最好的解决方案,但我们使用的是假输入类型=&#34;图像&#34; onclick返回值为false之前的其他值,以便被触发的那个实际上不会触发请求。不是正确的根解决方案,而是一个好的临时解决方