2017-07-17 96 views

回答

0

HTML

 <button class="button buttonOne">Button One</button> 
     <button class="button buttonTwo">Button Two</button> 

的JavaScript

  var btns = document.querySelectorAll('button'); 

      for (var i = 0; btns.length > i; i++) { 
       btns[i].addEventListener('click', function(evt) { 
        disableElements(evt.target); 
       }); 
      } 

      function disableElements(activeEl) { 
       var els = document.querySelectorAll('button'); 
       var target = activeEl; 

       for (var i = 0; els.length > i; i++) { 
        if (els[i] !== target) { 
         els[i].setAttribute('disabled', true); 
        } 
       } 
      } 
+0

#Darren_Sweeney,非常感謝你的回答。我在xml文件中給出了這兩個按鈕,並將js代碼放入js文件中。我試圖在一個警告框中獲取變量btn的長度,但它顯示0.所以,我怎麼能解決這個問題?我正在使用odoo 10框架。這些js語法或代碼適合odoo10格式嗎? – NidhinMohanCheriyan

0

嘗試以下步驟:

  1. *.py*.xml定義一個字段flag=True
  2. *.py中定義函數set_flag
  3. In set_flag set flag value False
  4. xml,給一個條件隱藏按鈕。

例子:

PY

flag = fields.Boolean('flag', default=True) 

@api.multi 
def set_flag(self): 
    self.flag=False 

* .XML

<button class="button buttonOne" name="set_falg"/> 
<button class="button buttonTwo" attrs="{'invisible':[('flag','=',False)]}"/> 
<field name="flag" invisble="1"/> 

希望它會幫助你。

+0

#KbiR,非常感謝您的回答。有用。但我的實際需要是,我想要禁用/隱藏一個按鈕,當點擊使用JavaScript的另一個按鈕..我是odoo 10的新手。請幫助我如果您知道解決方案。還有1個問題,我如何在js文件中訪問xml文件中的表單內容? – NidhinMohanCheriyan

0

當按鈕2被點擊時,我只需保留一個開關字段(布爾值),其值改變爲False。現在我可以在按鈕1上設置一個屬性,只要switch的值爲False就可以只讀。

下面是代碼:

的Python

switch= fields.Boolean(default=True) 

def change_status(self): 
    self.switch= False 

XML

<field name="switch" invisible="1"/> 
<button string='Button1' attrs="{'readonly':[('switch','=',False)]}">Button One</button> 
<button string='Button2' name="change_status">Button Two</button> 

這裏,名稱= 「change_status」是蟒功能的鏈接,其改變交換機的狀態。

P.S:要使其正確工作,請在使用屬性中的值之前添加不可見字段(此處爲「switch」)以設置只讀狀態。