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

Wix中如何将登录会员ID插入CMS且不重复创建数据项

解决Wix CMS中会员ID与表单数据合并提交的问题

问题描述

尝试将当前登录会员ID插入Wix CMS时,找不到无代码实现方式。用代码单独插入会员ID时,由于其他表单数据是通过无代码绑定输入框提交,导致会员ID和表单数据分别创建两条数据,无法一次性提交所有内容。当前用于插入会员ID的代码如下:

export function buttonSubmit_click(event) {
    currentMember.getMember()
    .then(member => {
        if (member) {
            const userId = member._id;

                const toInsert = { "userId": userId };

                wixData.insert("Empresas1", toInsert)
                .then(result => {
                    console.log("Item inserido com sucesso:", result);
                })
                .catch(err => {
                    console.error("Erro ao inserir o item:", err);
                });
        } else {
            console.log("Nenhum membro logado.");
        }
    })
    .catch(err => {
        console.error("Erro ao obter o membro:", err);
    });
}

解决方案

要实现会员ID和表单数据一次性提交,需取消无代码的自动提交绑定,改用代码统一收集表单输入值+会员ID,再一次性插入数据库。具体步骤如下:

  1. 移除无代码提交绑定
    进入Wix编辑器,找到绑定到Empresas1数据库的输入框,取消它们的“提交到数据库”关联设置,避免无代码逻辑自动创建数据项。

  2. 修改提交按钮代码,统一收集数据
    通过代码获取每个输入框的当前值,结合会员ID组装成完整的数据对象后,调用wixData.insert一次性提交。示例代码如下:

import { currentMember } from 'wix-members';
import wixData from 'wix-data';

export function buttonSubmit_click(event) {
    // 获取当前登录会员ID
    currentMember.getMember()
    .then(member => {
        if (!member) {
            console.log("Nenhum membro logado.");
            return;
        }
        const userId = member._id;

        // 获取表单输入框的值(替换为你实际的输入框ID)
        const empresaNome = $w("#inputEmpresaNome").value;
        const empresaEmail = $w("#inputEmpresaEmail").value;
        // 按需添加其他输入框的值

        // 组装完整的数据对象(字段名需与数据库对应)
        const fullData = {
            "userId": userId,
            "nome": empresaNome,
            "email": empresaEmail
            // 添加其他表单字段对应的键值对
        };

        // 一次性插入数据库
        return wixData.insert("Empresas1", fullData);
    })
    .then(result => {
        console.log("Dados inseridos com sucesso:", result);
        // 可选:提交成功后重置表单
        $w("#inputEmpresaNome").value = "";
        $w("#inputEmpresaEmail").value = "";
    })
    .catch(err => {
        console.error("Erro ao inserir dados:", err);
    });
}
  1. 注意事项
    • 确保代码中使用的输入框ID(如#inputEmpresaNome)和数据库字段名(如nome)与实际配置完全一致。
    • 若需表单验证,可在获取输入值后添加验证逻辑,验证通过再执行插入操作。

内容的提问来源于stack exchange,提问作者João Pedro Cyrillo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 13:57:12