Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

关于在后台获取前台field或者input的值的问题



  • 开始学习odoo,碰上如何获取界面filed 的内容和input的内容,以及如何修改的问题:
    这个是界面视图,里面有个field和一个input
    [code]
    <?xml version="1.0" encoding="utf-8"?>
    <openerp>
        <data>
            <!--定义列表视图-->
            <record model="ir.ui.view" id="test_view">
                <field name="name">test view</field>
                <field name="type">form</field>
                <field name="model">test.model</field>
                <field name="arch" type="xml">
                <t>
                    <div class="oe_view_manager_view_form">
                        <div class="oe_form">
                      <form>
                                        <field name="myname" />       
                                        <input type="text" id="yourname"  />
                                        <button name="on_changepwd_myname" string="修改" type="object" />
                            </form>
                        </div>
                    </div>
                </t>
                </field>
            </record>
    </data>
    </openerp>
    [/code]

    在.py文件里面的on_changepwd_myname里面,怎么样才能获取上面的 field的值,并把他们两个对调过来
    [code]
    # -- coding:utf-8 -- #

    from openerp.osv import osv,fields
    import commands

    class test_model(osv.osv):
        _name="test.model"
        _columns={
            'myname':fields.char(string="我的姓名",size=32,sotre=False),
        }
        def on_changepwd_admin(self, cr, uid,ids, context=None):
            这里怎么获取界面上<field name="myname" />和<input type="text" id="yourname"  /> 的值,并且在后台对调后回显到界面上
    [/code]



  • 开始学习odoo,碰上如何获取界面filed 的内容和input的内容,以及如何修改的问题:
    这个是界面视图,里面有个field和一个input
    [code]
    <?xml version="1.0" encoding="utf-8"?>
    <openerp>
        <data>
            <!--定义列表视图-->
            <record model="ir.ui.view" id="test_view">
                <field name="name">test view</field>
                <field name="type">form</field>
                <field name="model">test.model</field>
                <field name="arch" type="xml">
                <t>
                    <div class="oe_view_manager_view_form">
                        <div class="oe_form">
                      <form>
                                        <field name="myname" />       
                                        <input type="text" id="yourname"  />
                                        <button name="on_changepwd_myname" string="修改" type="object" />
                            </form>
                        </div>
                    </div>
                </t>
                </field>
            </record>
    </data>
    </openerp>
    [/code]

    在.py文件里面的on_changepwd_myname里面,怎么样才能获取上面的 field的值,并把他们两个对调过来
    [code]
    # -- coding:utf-8 -- #

    from openerp.osv import osv,fields
    import commands

    class test_model(osv.osv):
        _name="test.model"
        _columns={
            'myname':fields.char(string="我的姓名",size=32,sotre=False),
        }
        def on_changepwd_admin(self, cr, uid,ids, context=None):
            这里怎么获取界面上<field name="myname" />和<input type="text" id="yourname"  /> 的值,并且在后台对调后回显到界面上
    [/code]



  • 可以获取filed的值了如下:(input的值暂时不知道怎么获取)
    [code]   
    objs= self.browse(cr,uid,ids);
    strMyname=objs.myname
    [/code]
    新问题是,如何修改view界面上filed的值呢,是不是一定要调用javascript里面的函数来修改,还是还有其他方法?



  • 你现在这种方法, 是需要用JS来玩的. 也就是用 client action.



  • 哦,看来只能走 client action的路,我就觉得这样也太麻烦了。


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待