我正在尝试在图片点击事件上提交表单,但在点击事件触发后我收到Uncaught TypeError: Object #<HTMLInputElement> has no method 'submit'
此错误。
我的代码:
<form name="searchRef" id="searchRef" method="get" action="#">
<input type="text" name="s" id="ref" value="" class="ref_search" />
<input type="submit" name="submit" id="ref_submit" value="GO" class="ref_submit" />
</span> <span> <img src="http://www.webdeveloper.com/forum/image.php?s=2c556ca62e6fd2a2e4d6ca925fb3fda1&u=8331&dateline=1057444055" alt="Go" onClick="document.getElementById('searchRef').submit();"> </span>
</form>
有任何想法或建议吗?感谢。
答案 0 :(得分:2)
您必须删除/更改提交按钮的属性名称,例如:
name="btnSubmit"
否则,FORM元素的submit()方法被覆盖。
答案 1 :(得分:2)
将提交按钮名称从submit
更改为ref_submit
如下图所示
<input type="submit" name="ref_submit" id="ref_submit" value="GO" class="ref_submit" />
答案 2 :(得分:0)
这只是一个想法,但尝试使用
document.forms["searchRef"].submit();
而不是
document.getElementById('searchRef').submit();
答案 3 :(得分:0)
页面中可能已经存在id=searchRef
的html元素,因此getElementById()
出错了。
更好的解决方案是用input type = image:
替换你的提交按钮<input type="image" name="ref_submit" id="ref_submit" value="GO" class="ref_submit"
src="path/to/your/image" />
请注意,这将导致服务器端通过$_POST['submit_x']
和$_POST['submit_y']
的POST请求(对应于图像左上角的(x,y)鼠标坐标)
答案 4 :(得分:0)
请更改表单标记操作属性,将#
替换为目标page name say action.php
,并在表单标记中添加onsubmit="javascript:return false"
答案 5 :(得分:0)
发生此错误是因为您的name
属性为submit
,请尝试更改名称属性或尝试使用以下代码。
<img src="http://www.webdeveloper.com/forum/image.php?s=2c556ca62e6fd2a2e4d6ca925fb3fda1&u=8331&dateline=1057444055" alt="Go" onclick='window.searchRef.submit();' />