2017-07-27 61 views
3

我已經試過這個代碼odoo10社區,但沒有工作,什麼是我的錯?如何在頁眉按鈕內寫入formview的事件? odoo 10

或任何人可以指導我該怎麼辦呢?

openerp.module_name= function (instance) { 

      var _t = instance.web._t, QWeb = instance.web.qweb; 

       instance.web.FormView = instance.web.FormView.include({ 
       init: function() { 
         this._super.apply(this, arguments); 
         console.log("test"+this.getParent().dataset.model); 
        }, 
        events: { 
         'click #target': 'button_clicked', 
        }, 
        button_clicked : function(ev) { 
         console.log("test333555555"); 
         ev.preventDefault(); 
         ev.stopPropagation(); 
         console.log("test 333333333333"); 
        });   

       }, 

      }); 
}; 
+0

喜VIKI Chavada,你知道的解決方案.. – KLN

+0

所以,你要在標題按鈕意味着在創建和表單視圖右側的修改按鈕? –

+0

沒有不是按鈕,它是表格視圖的內部,例如在銷售訂單conformsale,取消按鈕那樣..... – KLN

回答

4

首先創建按鈕,您可以隨時創建並進行一些修改。

<button string="Click" custom="click"/> 

然後創建一個JS文件將包含下面的代碼。

odoo.define('YOUR_MODULE.FILENAME', function (require) { 
"use strict"; 

var form_widget = require('web.form_widgets'); 
var core = require('web.core'); 
var _t = core._t; 
var QWeb = core.qweb; 

form_widget.WidgetButton.include({ 
    on_click: function() { 
     if(this.node.attrs.custom === "click"){ 

      // YOUR CODE 

      return; 
     } 
     this._super(); 
    }, 
}); 
}); 

添加這個JS到XML

<?xml version="1.0" encoding="utf-8"?> 
<odoo> 
     <template id="assets" inherit_id="web.assets_backend"> 
      <xpath expr="." position="inside"> 
       <script type="text/javascript" src="/YOURMODULE/static/js/FILENAME.js"></script> 
      </xpath> 
     </template> 
</odoo> 

加入該XML在__manifest__.py

{ 
... 
... 
'data': [ 
     ... 
     'views/above_xml_filename.xml', 
    ], 
.... 
} 

我希望這會爲你工作。

+1

非常感謝你@Viki Chavada .................... !!!!!!!!!!! – KLN

+0

你可以給郵件ID?.. – KLN

+0

放下你的電子郵件ID在這裏,我將與您聯繫。 –

相關問題