【问题标题】:Zope form : adding a button to automatically fill some fieldsZope 表单:添加一个按钮以自动填充某些字段
【发布时间】:2012-04-12 10:24:27
【问题描述】:

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

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

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

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

如果没有,我可以在表单中添加一个新按钮:我尝试了类似 @button.buttonAndHandler(_(u'Essai')) def essai(自我,行动​​): 打印“按钮essai”

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

任何提示? 谢谢

【问题讨论】:

    标签: forms zope


    【解决方案1】:

    我建议使用 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);
            ...
        });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      相关资源
      最近更新 更多