2013-04-17 106 views
0

我正在使用Greasemonkey在外部網站上提交表單。但是,由於表單的提交按鈕名爲submit,所以我遇到了問題。使用Greasemonkey提交表單時出錯

在Firebug,document.filingform.submit();將返回錯誤:

document.filingform.submit is not a function


有沒有一種方法,我可以使用的Greasemonkey要麼更改提交按鈕的名稱不是向其他的東西,或者致電submit()表單的功能是否成功?

謝謝!

+0

你需要顯示窗體的HTML。 –

回答

1

這將是類似document.forms.filingform.submit();,但不要這樣做!

這種方法很容易被沙箱阻塞。另外,有些頁面需要使用javascript函數來運行合法的提交。提交頁面的最健壯的方式,並保持它和服務器的快樂,是「點擊」提交按鈕。

這樣的代碼:

var submitBtn = document.querySelector ("form[name='filingform'] input[name='submit']"); 
var clickEvent = document.createEvent ('MouseEvents'); 

clickEvent.initEvent ('click', true, true); 
submitBtn.dispatchEvent (clickEvent); 
+0

謝謝!這很好。我想我沒有足夠的代表來upvote,但我很感激。 – jeb

+0

不客氣。很高興它對你有效。請[表示已回答此問題](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)。 –

相關問題