2012-07-19 62 views
0

在使表單的默認行爲無效後,我想顯示HTML5客戶端驗證錯誤氣泡。在event.preventDefault後顯示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(); 
}); 
+0

你試過返回'FALSE'? – 2012-07-19 12:39:31

+1

'event.stopPropagation();'? – Val 2012-07-19 12:43:43

+0

我試過返回false它不起作用。 – 2012-07-19 12:48:53

回答

2

您對validateForm代碼可以通過這種方式來提高:

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

如果它不工作的問題將是你怎麼稱呼validateForm功能。

如果你在一個Backbone.View,因爲我想,因爲你正在使用「這個$ EL」,你應該寫的事件以這種方式簡單對象:

events: { 
    'submit form': 'validateForm' 
    // 'click button': 'validateForm' // this way does not work 
}