繁体   English   中英

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

[英]Chrome - how to submit by javascript a form having input name=submit?

我碰到了绝对奇怪的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是输入,但不提交回调!!

是否可以提交此表格并保持输入名称=提交?

是否可以提交此表格并保持输入名称=提交?

我相信,答案是否定的

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

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

您使用关键字的时刻submit的无论是nameid一中的元素的form ,在form.submit变成了一个object引用相应节点 ,而不是functionsubmitform

请参考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);

确定,我找到了解决方案:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM