Javascript 表单未使用onclick事件提交

Javascript 表单未使用onclick事件提交,javascript,jquery,html,Javascript,Jquery,Html,我试图在图像单击事件上提交表单,但我得到未捕获类型错误:对象#没有方法“提交”单击事件触发后出现此错误 我的代码: <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

我试图在图像单击事件上提交表单,但我得到
未捕获类型错误:对象#没有方法“提交”
单击事件触发后出现此错误

我的代码:

<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>


有什么想法或建议吗?谢谢。

您必须删除/更改提交按钮的属性名称,例如:

name="btnSubmit"

否则,表单元素的submit()方法将被覆盖。

您必须删除/更改submit按钮的属性名称,例如:

name="btnSubmit"

否则,表单元素的submit()方法将被覆盖。

将提交按钮名称从
submit
更改为
ref\u submit

如下图所示

<input type="submit" name="ref_submit" id="ref_submit" value="GO" class="ref_submit" />

将提交按钮名称从
submit
更改为
ref\u submit

如下图所示

<input type="submit" name="ref_submit" id="ref_submit" value="GO" class="ref_submit" />

这只是一个想法,但请尝试使用

document.forms["searchRef"].submit();
而不是

document.getElementById('searchRef').submit();

这只是一个想法,但请尝试使用

document.forms["searchRef"].submit();
而不是

document.getElementById('searchRef').submit();

您的页面中可能已经有一个带有
id=searchRef
的html元素,因此
getElementById()
获取了错误的元素

更好的解决方案是将提交按钮替换为输入类型=图像:

<input type="image" name="ref_submit" id="ref_submit" value="GO" class="ref_submit" 
  src="path/to/your/image"  />


请注意,这将导致服务器端出现一个带有
$\u POST['submit\u x']
$\u POST['submit\u y']
的POST请求(对应于图像左上角的(x,y)鼠标坐标)

页面中可能已经有一个带有
id=searchRef
的html元素,因此
getElementById()
选错了

更好的解决方案是将提交按钮替换为输入类型=图像:

<input type="image" name="ref_submit" id="ref_submit" value="GO" class="ref_submit" 
  src="path/to/your/image"  />


请注意,这将导致服务器端出现一个POST请求,其中包含
$\u POST['submit\u x']
$\u POST['submit\u y']
(对应于图像左上角的(x,y)鼠标坐标)

请更改表单标记动作属性,用目标
页面名称say action.php重新拼贴
,并在表单标记中添加
onsubmit=“javascript:return false”
请更改表单标记的action属性,用目标
页面名say action.php
,并添加
onsubmit=“javascript:return false”
在表单标记中

发生此错误的原因是您的
名称
属性为
提交
,请尝试更改名称属性或尝试在代码下面执行操作

  <img src="http://www.webdeveloper.com/forum/image.php?s=2c556ca62e6fd2a2e4d6ca925fb3fda1&u=8331&dateline=1057444055" alt="Go" onclick='window.searchRef.submit();' />

发生此错误的原因是您的
名称
属性为
提交
,请尝试更改名称属性或在代码下面尝试

  <img src="http://www.webdeveloper.com/forum/image.php?s=2c556ca62e6fd2a2e4d6ca925fb3fda1&u=8331&dateline=1057444055" alt="Go" onclick='window.searchRef.submit();' />


submit仍将引用输入元素,不再使用submit()方法submit仍将引用输入元素,不再使用submit()方法
name=“submit”
不应在表单元素中使用谢谢,我没有注意到这一点。这似乎是一个问题,只是因为使用了jquery,对吗?
name=“submit”
不应该在表单元素中使用谢谢,我没有注意到这一点。这似乎是一个问题,只是因为使用了jquery,对吗?表单中是否有Id为
submit
的输入字段?表单中是否有Id为
submit
的输入字段?