私は、Backbone.jsを使用してJavaScriptコードを構築し、モジュール式アプリケーションを作成し始めました。BackboneJS:ビューからのフォーム送信時のフォーム検証のトリガー
フォームを処理して検証する簡単なビューを作成します。私が持っていた問題がvalidateFieldsということです
var Form = Backbone.View.extend({
attributes: {
att1 = 'att1',
att2 = 'att2'
},
events: {
'submit': 'validateFields'
},
initialize: function(element) {
this.el = $(element);
},
validateFields: function() {
alert(this.attributes.att1); //do something
return false;
}
});
var f = new Form('#formid');
:将来的には私は、
これは単純化されたコードである私が今持っているなど、効果を置くライブ検証のように、すべてのjavascript functionallityを追加したいと思いますフォームを送信するときに関数が呼び出されません。
this.el.bind('submit', this.validateFields);
さて、その最後のコードは動作しますが、「これは」検証関数の内部で代わりに私のFormオブジェクトの$(「#のフォームID」)オブジェクト、次のようになります。また、私は、コンストラクタでこれを使用してみました。
感謝をvalidateFieldsためのコンテキストをバインドする必要があります。そうではありませんでした。問題は、initializeメソッドの前に呼び出されたということでした。あなたが完全に動作すると言ったようにオブジェクトを初期化します。 –