Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
3 Trả lời
30612 Lượt xem

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.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất
<form string="BlaBla">
<sheet>
<script>
YOUR JAVASCRIPT CODE HERE
</scrit>
YOUR XML CODE HERE
</sheet>
</form>


Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhất

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.


Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 12 19
9999
0
thg 3 17
8459
0
thg 7 25
253
0
thg 6 25
472
1
thg 6 25
709