我正在尝试通过点击链接触发表单提交,我将其用作指南:
<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()
无济于事。
答案 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>
。
-.-"