تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
3 الردود
30560 أدوات العرض

Hello, I want to make a handler for button in footer area using javascript. My view model looks below :

<record id="view_rnd_history_form" model="ir.ui.view">
<field name="name">rnd.history.form</field>
<field name="model">rnd.batch.record.history</field>
<field name="arch" type="xml">
<form string="History" version="7.0">
<group>
<field name="br_id" colspan="2"/>
<label for="start_date" string="Date"/>
<div>
<field name="start_date" class="oe_inline"/> -
<field name="end_date" class="oe_inline"/>
</div>
<field name="batch_number" colspan="2"/>
<field name="parameter_id" colspan="2"/>
</group>
<footer>
<button name="show_history" string="_Show" class="oe_highlight" onclick="alert('hello');"/>
</footer>
</form>
</field>
</record>

I'm confuse. the onclick attribute seem removed by qweb render process. I want a simple thing, user click on show_history button, then it call a simple javascript function or action client. Any information will be appreciate. Thank you.

الصورة الرمزية
إهمال
أفضل إجابة

I have created a module specifically to do this, you can found it in Odoo apps like "Soltein Button Widget"

The use of this module is like the following example:


<solt_button string="_Show">
    <code><![CDATA[
       jQuery('footer button:first').click(function() { alert('hello'); });
    ]]></code>
</solt_button>

In the code of the button you could access to the widget instance using self and also to the fields of the form using self.view.fields

الصورة الرمزية
إهمال
أفضل إجابة
<form string="BlaBla">
<sheet>
<script>
YOUR JAVASCRIPT CODE HERE
</scrit>
YOUR XML CODE HERE
</sheet>
</form>


الصورة الرمزية
إهمال
الكاتب أفضل إجابة

I added javascript code like this :

...
...
...
<footer>
<button name="show_history" string="_Show" class="oe_highlight"/>
</footer>
<script>
jQuery('footer button:first').click(function() { alert('hello'); });
</script>

 The alert message never called after click the button. Well, I think it related on rendering process by qweb. The jQuery event handler is never attach to button node.  Is it possible to listen render event in qweb? Thanks.


الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
1
ديسمبر 19
9960
0
مارس 17
8399
0
يونيو 25
339
1
يونيو 25
650
1
يونيو 25
647