1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
Ext.override(Ext.form.FormPanel, {//extjs 4 , remplacer Ext.form.FormPanel par Ext.form.Panel
initComponentOld : Ext.form.FormPanel.prototype.initComponent,// version ext3
initComponent: function(){
this.on('afterrender', this.afterrender, this);
this.initComponentOld();
//this.callOverridden();// version ext4
},
/**
* lance le formulaire à l'appuie sur entrée dans un textfield
* Si un boutton de type submit est inclue, alors on simule le click en appellant la fonction handler
* sinon on applique la méthode submit du formulaire
* !!! A faire si on veux applique aussi au combobox, list ect ...
*/
afterrender : function(){
var textFields = this.query('.textfield'),
submitBt = this.query('button[type=submit]')[0],
handler = submitBt && submitBt.handler;
for(var i = 0, l = textFields.length; i <l; i++){
var textField = textFields[i];
textField.on('specialkey', function(el, e){
if(e.keyCode == e.ENTER){
if(handler)handler.call(submitBt.scope, submitBt, {})
else this.submit();
}
}, this);
}
}
}) |
Partager