0

フォームのデフォルトの動作を無効にした後、HTML5クライアント側の検証エラーバブルを表示したいと思います。

次のコードを試しましたが、機能しません。

何か案は?

validateForm: function (event) {
    event.preventDefault();
    // some code
    console.log(this.$el.find('form')[0]); // it display the form I would like to validate
    this.$el.find('form')[0].checkValidity();
});
4

1 に答える 1

2

validateForm に関するコードは、次の方法で改善できます。

validateForm: function (event) {
    event.preventDefault();
    // some code
    event.currentTarget.checkValidity();
});

うまくいかない場合は、validateForm 関数を呼び出す方法が問題になります。

Backbone.View"this.$el" を使用しているためだと思いますが、イベント オブジェクトを次のように単純に記述する必要があります。

events: {
    'submit form': 'validateForm'
    // 'click button': 'validateForm' // this way does not work
}
于 2012-07-19T16:18:32.270 に答える