在Plone4 / Zope3下,我有一个表单来添加一个新对象。
我想在第一个字段后添加一个按钮,以执行以下操作: - 用户输入第一个字段的值 - 他按下这个新按钮 - 并且服务器将尝试根据第一个字段和外部数据库猜测剩余字段。 - 然后用户必须检查所有字段是否正常,然后提交表单。
我不是zope专家,花了一些时间试图弄清楚如何做到这一点。
创建子表单是个好主意吗?
如果没有,我可以在表单中添加一个新按钮:我试过类似的东西 @ button.buttonAndHandler(_(u'Essai')) def essai(self,action): 打印“按钮essai”
但后来我遇到以下问题: - 如何在第一个字段之后而不是在底部渲染按钮? - 如何在不提交表格的情况下更新剩余的字段? - 当我添加此essai按钮时,如何保持“添加”和“取消”按钮消失。
任何提示? THX
答案 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);
...
});
});