This question has been flagged
2 Replies
39246 Views

How to make connection of javascript with odoo?

For example:- I declared a button in xml and written a function in javascript then how to call that function on xml button.


My code is :-

xml button declaration:-

<footer>
<button name="button" onclick="updatetxt(fun)" string="ok"/>
</footer>
         
     
     
javascript and xml connection code:-
     
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<template id="assets_backend" name="Javascript_Test" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<!-- <link rel="stylesheet" href="/web/static/lib/bootstrap/css/bootstrap.css"/> -->
<!-- <link rel="import" href="//static/src/timesheet.html"/> -->
<script type="text/javascript" src="/Javascript_Test/static/src/js/document.js"/>
</xpath>
</template>

</data>
</openerp>
    
javascript code:-
    
function updatetxt()
{
alert("hello");
}
     
manifeast file:-
     
'data': [
'views/views.xml',
'views/java_script.xml',
],

'js': [
'static/src/js/document.js'
],
 
     
So how to declare javascript on button with xml in odoo?
Avatar
Discard

Hi, I've changed your question title from " How to integrate js with Odoo" to "how to call javascript function on button with xml in odoo?".

Best Answer

Hi Gautam,

You can give a class for your button in xml

<button name="button" class="your_class" string="ok"/>

then in js give any click event for that class

events: {
"click .your_class": "your_function",
},
your_function: function () {
console.log('Button Clicked')
},


Avatar
Discard
Author

Hello mohammed, i tried the above solution but didn't work. Is there any other solution for this?

This should work. Are you sure your js is working properly. can you share your code.

Author

onclick: {

"click .txt_js": "updatetxt",

},

updatetxt: function () {

console.log('Button Clicked')

},

this is my code. can you suggest if there is any error?

how did you give onclick. I think onclick works like that only if you extended formview.

Author

What should i use in place of onclick if i have to work on a button?

guys how to do this in odoo 12

Hi gautam,have u arrived any solution for this??