更改Editable Form里的快捷键

经常听到用户在抱怨OE的回车不好用。原来国产的很多软件里,总是把回车当成TAB用。唉。迎合用户,改。
打开:
\addons\web\static\src\js\view_list_editable.js

找到(大约line169):


on_row_keyup: function (e) {
            var self = this;
......

动手。
首先要支持这个:用户在一个输入框回车,跳转到本行的下一个输入框。要考虑输入框的readonly,invisible...
思路:先数本行总共有多少个可以输入的input, 然后向后select一个。


on_row_keyup: function (e) {
            var self = this;
            
            switch (e.which) {
            case KEY_RETURN:
                inputs = self.edition_form.$element.find('input:visible:not(disabled):not([readonly])')
                idx = $.inArray(e.target, inputs);
                if(idx < inputs.length-1){
                    $('#'+inputs[idx+1].id).select();
                    return;
                }
                
                this.save_row().then(function (result) {
                    if (result.created) {
                        self.new_record();
                        return;
                    }

......


当然,如果到了本行最后一个输入框了,那就执行系统的快捷键,保存本行,跳到下一行吧。

打完收工。

你可能感兴趣的:(Web,function,list,input)