You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Frappe Webform子表添加新行时打开Quick Entry对话框

实现Frappe Webform子表点击「添加新行」打开Quick Entry对话框

Frappe Webform默认确实不支持子表点击添加行时唤起Quick Entry,得靠自定义客户端脚本实现,步骤如下:

  1. 打开目标Webform的编辑页面,找到「客户端脚本」字段,填入以下代码:
frappe.web_form.on('onload', function(frm) {
    // 替换子表的添加新行按钮事件,这里替换成你的子表字段名,比如"items"
    let addRowBtn = frm.fields_dict.your_child_table_field_name.wrapper.find('.btn-add-row');
    addRowBtn.off('click').on('click', function(e) {
        e.preventDefault();
        // 唤起Quick Entry,替换成你的子表对应的Doctype名称
        frappe.new_doc('Your Child Doctype Name', {
            quick_entry: true,
            parent: frm.doc.name,
            parenttype: frm.doctype,
            parentfield: 'your_child_table_field_name'
        }).then(doc => {
            // 保存后刷新子表数据
            frm.fields_dict.your_child_table_field_name.refresh();
        });
    });
});
  1. 替换代码里的占位符:

    • your_child_table_field_name:Webform中子表字段的实际名称
    • Your Child Doctype Name:子表对应的Doctype名称
  2. 保存Webform,刷新页面测试。点击子表的「添加新行」按钮,就会弹出Quick Entry对话框,填写保存后子表会自动加载新行。

注意事项:

  • 确保子表对应的Doctype已经开启了「允许快速录入」选项(在Doctype设置的「高级」标签里)
  • 测试时要确保当前用户有该子表Doctype的创建权限

内容的提问来源于stack exchange,提问作者Darshana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 03:47:08