document.getElementById(“tweetform”)。submit不是函数吗?

时间:2009-07-08 22:38:38

标签: javascript

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

我使用IFrame制作AXAX POST请求。当我收到回复后,我就用这个:

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

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

document.getElementById("tweetform").submit is not a function
[Break on this error] document.getElementById("tweetform").submit();

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

5 个答案:

答案 0 :(得分:78)

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

答案 1 :(得分:5)

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

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

HTMLFormElement.prototype.submit.call($('#tweetform')[0]);

答案 2 :(得分:0)

实际上足以重命名你的&lt; input name =“submit”/&gt;别的东西,它的工作原理。

答案 3 :(得分:-1)

我猜你正在使用jQuery。

试试这个。

$("#tweetform").submit();

答案 4 :(得分:-4)

使用document.forms ['tweetform']。submit()代替