onclick =“myform.submit()”不起作用;说方法不存在

时间:2011-09-14 19:51:55

标签: html forms onclick submit

我正在尝试通过点击链接触发表单提交,我将其用作指南:

<form name="badger" action="http://www.quietdean.com">
</form>

<a href="#" onclick="badger.submit()">submit</a>

我有

<form name="epb" method="post" action="entry.php">
//I'm using CSS to make the link look like a button without being ugly like a button
<a class="edit_button" href="#" onclick="epb.submit()">Edit</a>
<input type="hidden" name="pid" value="<?php echo $contents[0] ?> ">
<input type="hidden" name="descrip" value="<?php echo urlencode(htmlspecialchars($contents[1], ENT_QUOTES)) ?>">
</form>

所有的html都是由php正确生成的(我在多个浏览器中运行),包括隐藏输入的值,但是当我点击链接时出现以下错误:

Uncaught TypeError: Object #<HTMLCollection> has no method 'submit' 

有谁能帮我弄清楚这里出了什么问题?

我已尝试将链接放在表单之外,但这并不能解决问题。

我也试过取出<a>的class属性,但它仍然给我同样的错误。

我现在也试过document.forms['epb'].submit()无济于事。

6 个答案:

答案 0 :(得分:2)

这条线需要关闭:

<input type="hidden" name="descrip" value="<?php echo urlencode(htmlspecialchars($contents[1], ENT_QUOTES)) ?>">

这里已经纠正了。

然后看看@ m.edmonson和@ Vitor42说的话。这是对的。

答案 1 :(得分:1)

badger不是对象,只是表单的名称......您应该将该表单作为对象,然后 在其上调用submit()

答案 2 :(得分:0)

尝试将badger作为ID添加到表单(<form name="badger" id='badger' action="http://www.quietdean.com">)并使用document.getElementById("badger").submit();。我认为没有找到獾,或者它不是你认为的那个元素。还要确保页面上没有任何其他元素的ID为“badger”。

答案 3 :(得分:0)

id="epb"添加到表单中,然后执行以下操作:

<a href="#" onclick="document.getElementById('epb').submit()">submit</a>

答案 4 :(得分:0)

你需要你的onclick属性看起来像这样:

onclick="document.forms['epb'].submit();"

答案 5 :(得分:0)

我遇到了同样的错误,问题如下:

我输入了<from>代码,而不是<form>

-.-"