Chrome - 如何通过javascript提交输入名称=提交的表单?

时间:2014-12-07 08:43:32

标签: javascript google-chrome

我遇到了绝对奇怪的Chrome的行为。以下是代码

<form method="post" id="form" accept-charset="UTF-8" action="/lalala">
<input type="submit"  />
<input type="text" name="submit" value="Post this" />
</form>

<script>
    setTimeout(function(){ 
        var forma = document.getElementById("form");
        console.log(forma.submit);
        forma.submit(); 
    },30000);
</script>

打印到Chrome调试窗口

<input type="text" name="submit" value="Post this">
Uncaught TypeError: object is not a function

即。 document.getElementById(“form”)。submit是一个输入,但不提交回调!!

是否可以提交此表单,并保留输入名称=提交?

2 个答案:

答案 0 :(得分:1)

  
    

是否可以提交此表单,并保留输入名称=提交?

  

我相信,答案是 NO

  
    

我遇到了绝对奇怪的Chrome的行为。

  

我也可以在 Firefox 中找到问题。

当您将关键字submit用作name中元素的idform时,form.submit会转到object引用对应的节点而不是function引用submit form

请参阅JSFiddle

<form method="post" id="form" accept-charset="UTF-8" action="/lalala">
    <input type="submit" />
    <input type="text" name="submit" value="Post this" />
</form>


var form = document.getElementById("form");
console.log(typeof form.submit);

答案 1 :(得分:0)

好的,我找到了解决方案:

<input id="submit" type="submit" />
<script>
var button = document.getElementById("submit");
button.click();
</script>