2011-08-06 15 views
37

マイサイトAweber登録フォームは多くのスパムを受けています。私は、ページがレンダリングされた後、またはボタンをクリックして、javascriptを介してフォームを動的に作成するように指示されました。 JavaScriptを使用してフォームを作成してレンダリングするにはどうすればよいですか?JavaScriptを使用して動的にフォームを作成する方法

+1

フォームを動的に作成することはどういう意味ですか? –

+6

なぜこれがあまりにも多く、または閉鎖されたのか分かりません。 javascriptによる動的フォームの生成とは、HTMLを介して提供するのではなく、DOMを構築することを意味します。 – recursive

+13

彼は、ページがレンダリングされた後にフォームを作成することを意味します。なぜこれは閉鎖されたのですか? – Sparkup

答えて

88

いくつかのことを次のように::

はbodyタグ

これはラフスケッチされた後、これを追加、あなたのニーズに応じて、それを修正する必要があります。

<script> 
var f = document.createElement("form"); 
f.setAttribute('method',"post"); 
f.setAttribute('action',"submit.php"); 

var i = document.createElement("input"); //input element, text 
i.setAttribute('type',"text"); 
i.setAttribute('name',"username"); 

var s = document.createElement("input"); //input element, Submit button 
s.setAttribute('type',"submit"); 
s.setAttribute('value',"Submit"); 

f.appendChild(i); 
f.appendChild(s); 

//and some more input elements here 
//and dont forget to add a submit button 

document.getElementsByTagName('body')[0].appendChild(f); 

</script> 
+0

それぞれのフォームを削除するには、どのようにボタンを追加しますか? – Jeremy

+0

何らかの理由で、IE EdgeまたはIEの以前のバージョンでは、このコードの送信ボタンは機能しません。理由について困惑した –