Skip to Content
Menu
This question has been flagged

Hello,


I have added new button in Odoo form view and want to call  onclick event from JavaScript instead of adding method in python.

Is there any way to do this?

<button name="create_crm_records" class="mt-5 btn btn-info import_button_click">Import</button>

Thanks.


Regards,

Hemangi.

Avatar
Discard
Best Answer

Hi,

Extend the "web.FormView" template and add a new button.

<templates xml:space="preserve">

   <t t-inherit="web.FormView" t-inherit-mode="extension">

       <xpath expr="//button[contains(@class, 'o_form_button_create')]" position="before">

           <button type="button" class="btn btn-primary history_btn" id="history_btn"

               t-on-click="buttonClicked">

               <span>NEW BUTTON</span>

           </button>

       </xpath>

   </t></templates>

Need to create a JS file inside static/src/js directory(eg :static/src/js/form_button.js)

import { patch } from "@web/core/utils/patch";

import { FormController } from "@web/views/form/form_controller";


patch(FormController.prototype, {

    setup() {

        super.setup();

    },

    buttonClicked() {

    // Add your code

    },

});


Hope it helps

Avatar
Discard
Author

Hello Cybrosys Techno Solutions Pvt.Ltd,

Thanks for your reply. My button is not near the Create button.

Its inside Form view of crm.lead view. Do you know how to do for that type of button?

Thanks.

Regards,
Hemangi.

Related Posts Replies Views Activity
1
May 25
1032
1
Apr 25
916
0
Mar 25
601
1
Feb 25
723
0
Feb 25
977