Zope形式:添加一个按钮以自动填充某些字段

时间:2012-04-12 10:24:27

标签: forms zope

在Plone4 / Zope3下,我有一个表单来添加一个新对象。

我想在第一个字段后添加一个按钮,以执行以下操作: - 用户输入第一个字段的值 - 他按下这个新按钮 - 并且服务器将尝试根据第一个字段和外部数据库猜测剩余字段。 - 然后用户必须检查所有字段是否正常,然后提交表单。

我不是zope专家,花了一些时间试图弄清楚如何做到这一点。

创建子表单是个好主意吗?

如果没有,我可以在表单中添加一个新按钮:我试过类似的东西     @ button.buttonAndHandler(_(u'Essai'))     def essai(self,action):         打印“按钮essai”

但后来我遇到以下问题: - 如何在第一个字段之后而不是在底部渲染按钮? - 如何在不提交表格的情况下更新剩余的字段? - 当我添加此essai按钮时,如何保持“添加”和“取消”按钮消失。

任何提示? THX

1 个答案:

答案 0 :(得分:0)

我建议使用javascript来解决这个问题。使用jquery,您可以在第一个字段后面添加一个额外的按钮(http://api.jquery.com/after)。在按钮操作中,在json(http://docs.python.org/library/json.html)中向浏览器视图查询搜索结果,填写其他表单字段,如:

jq('my-button').click(function(event) {
    event.preventDefault();
    var first_field= jq('#first-field-id').val();
    jq.getJSON('/@@my-browser-view?value=' + value, function(result) {
        jq('#other-field-id').val(result.val_for_other_field);
        ...
    });
});