Firefox 拡張機能で純粋な Javascript を使用してフォームを作成して送信しようとしています。ただし、最も基本的なフォームでも、ブラウザー コンソールは次のように言い続けます。
TypeError: form.submit は関数ではありません
この件に関するいくつかの投稿を検索して読みましたが、この特定の問題を扱っていませんでした。よくある間違いは、「submit」という名前の入力を持つことですが、ここではそうではありません。
これは、フォーム送信のようなこの素晴らしい投稿JavaScriptポストリクエストからインスピレーションを得た私のコードです:
// Create a form
var form = document.createElement("form");
form.action = "http://example.com";
form.method = "POST"
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "submit");
hiddenField.setAttribute("name", "sub");
hiddenField.setAttribute("value", "send");
form.appendChild(hiddenField);
// Create a document
var doc = document.implementation.createDocument ('http://www.w3.org/1999/xhtml', 'html', null);
var body = document.createElementNS('http://www.w3.org/1999/xhtml', 'body');
body.appendChild(form);
doc.documentElement.appendChild(body);
// Call the form's submit method
form.submit();
私はJavascriptが初めてなので、些細な間違いをしている可能性があります。誰かがこれを修正する方法についての手がかりを教えてくれますか?