0

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

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

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

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

如果没有,我可以在表单中添加一个新按钮:我尝试了类似 @button.buttonAndHandler(_(u'Essai')) def essai(self, action): print "button essai"

但后来我有以下问题: - 如何在第一个字段之后而不是在底部呈现按钮?- 如何在不提交表单的情况下更新剩余字段?- 如何保留我添加此 essai 按钮时消失的“添加”和“取消”按钮。

任何提示?谢谢

4

1 回答 1

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);
        ...
    });
});
于 2012-05-02T10:23:28.527 回答