2009-07-08 101 views
21

我使用的是Firefox,我一直在阅读一些论坛,声称这在firefox中不起作用,但它在过去的几天一直在为我工作,但已停止工作,我无法弄清楚为什么。document.getElementById(“tweetform”)。submit不是函数吗?

我使用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(); 

我知道递交存在,但到底是怎么回事?

+1

元素tweetform是否存在?它是一种形式吗? – seth 2009-07-08 22:41:44

+0

你可以提醒(document.getElementById(“tweetform”))并检查它是否返回一个表单? – Pradeep 2009-07-08 22:44:30

+0

是的,存在tweetform并且该警报返回:[object HTMLFormElement] – Abs 2009-07-08 22:51:57

回答

78

猜测是,你必须在形式的元件被称为“提交”(可能是<button><input type="submit">,而“.submit”被检索到元素的引用,而不是成员函数 “提交()”。如果是这样的话,尝试重命名元素别的东西(例如, “submit_button”)。

-1

我想你正在使用jQuery。

试试这个。

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

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

4

Jason Musgrove解释了问题很好。

可以使用HTMLFormElement土生土长提交方法来解决一个问题:

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

其实它够重命名<输入名字=“提交”/>到别的东西和它的作品。

相关问题