Skip to Content
Menu
This question has been flagged
2 Replies
6797 Views

I want to call a javascript on a button click, I tried a lot of examples and it didn't work. The button needs a name and the associated functions run on the server sides, I want the event to run on the client side only.

Avatar
Discard
Author Best Answer

Here is the solution using owl framework https://github.com/binyama/button_to_call_js_odoo.git

Avatar
Discard
Best Answer

To call a JavaScript function when a button is clicked in Odoo, you can use the onclick attribute of the button element and specify the name of the function you want to call. For example:



You can also use the qweb template engine to define the button in your XML file and bind the onclick event to a function in your JavaScript file. For example:









   

Then in your JavaScript file, you can define the myFunction function:


Copy code

odoo.define('my_module.my_javascript_file', function (require) {

    "use strict";


    var core = require('web.core');

    var _t = core._t;


    function myFunction() {

        console.log("Button clicked!");

    }


    return {

        myFunction: myFunction,

    };

});

You can also use the $.Event() function to trigger the button click event in your JavaScript code:


Copy code

$('button').trigger('click');

Keep in mind that you need to make sure that your JavaScript file is loaded on the page before you try to call any of the functions defined in it. You can do this by adding a dependency on your JavaScript file in the depends attribute of your module's manifest file

Avatar
Discard
Author

I can't see the pictures you upload can you do it again?

Related Posts Replies Views Activity
1
Apr 24
1311
0
Jan 24
1048
1
Sep 23
2283
2
Apr 23
4297
3
Mar 25
2788