document.getElementById("tweetform").submit不是函数吗?

Abs*_*Abs 21 javascript

我正在使用Firefox,我一直在阅读一些论坛声称这在Firefox中不起作用,但它在过去几天一直在为我工作,但已经停止工作,我无法弄清楚为什么.

我使用IFrame制作AXAX POST请求.当我收到回复时,我用这个:

function startLoad(){
    $.get("update.php", function(data){
            if(data==''){
                startLoad();
            }
            else{
                document.getElementById("tweetform").submit();
            }
    });
}
Run Code Online (Sandbox Code Playgroud)

然而,从萤火虫,我得到这个:

document.getElementById("tweetform").submit is not a function
[Break on this error] document.getElementById("tweetform").submit();
Run Code Online (Sandbox Code Playgroud)

我知道提交存在,但是发生了什么?

Jas*_*ove 78

我的猜测是你在表单中有一个名为"submit"的元素(可能是一个<button><input type="submit">,并且".submit"正在检索对该元素的引用,而不是成员函数"submit()".如果这样在这种情况下,尝试将该元素重命名为其他内容(例如,"submit_button").

  • 好决定.我以前一直被这个咬过. (6认同)

ain*_*kna 5

Jason Musgrove很好地解释了这个问题.

您可以使用HTMLFormElement 的本机提交方法来解决问题:

HTMLFormElement.prototype.submit.call($('#tweetform')[0]);
Run Code Online (Sandbox Code Playgroud)