私はフォームフィールドデータでオブジェクトを作成する必要がある小さなプロジェクトに取り組んでいます。要するに、私はこのような各フォームフィールドから値を取得するコンストラクタ関数を持っている:JavaScript - オブジェクトの新しいインスタンスを動的に作成する方法はありますか?
var Task = function() {
this.title = document.getElementById("task-title").value;
this.date = document.getElementById("task-date").value;
this.option = document.getElementById("task-option").value;
}
何が必要たびに誰かが送信ボタンをクリックしたオブジェクトの新しいインスタンスを作成することです。私は今までこれを持っています:
var submitBtn = document.getElementById('#someID');
submitBtn.addEventListener('click', function(event) {
event.preventDefault();
var newTask = new Task();
});
これはオブジェクトを作成するが、ボタンを押すたびにオブジェクトがオーバーライドされるという点で機能します。ボタンが押されるたびに作成されるオブジェクトの新しいインスタンスが必要です。
これは可能ですか?そうでない場合は、コンストラクタ関数の実行可能な代替手段がありますか?どうもありがとうございます。
:
なぜこれを試していけません。複数のインスタンスが必要な場合は、関数Task(){}を作成し、var task = new Task()のように宣言してください。 –
Uh? 'new Task();'は常に新しいオブジェクトを作成します。 「オブジェクトがオーバーライドされる」とはどういう意味ですか? 'newTask'で何をしていますか? –
@ a.j .: 'var Task = function(){}'と 'Function Task(){}'は同じものです。 OPはすでに 'new Task()'もやっています。 –