如何通过URL方式预填充Cognito Forms的登录用户信息?
完全可行,核心是利用Cognito Forms的URL查询参数预填充能力,结合你当前登录系统的动态用户数据生成带参数的表单链接,具体步骤如下:
确认表单字段的内部名称
打开Cognito Forms的表单编辑器,找到需要预填充的字段(比如姓名),在字段设置的「高级」选项卡下查看其内部名称(也可以从表单嵌入代码里提取字段的name属性值)。例如姓名字段的内部名称可能是FullName。动态生成带参数的表单URL
在你的登录系统页面中,获取当前登录用户的姓名、邮箱等数据,拼接成Cognito Forms的表单访问URL,格式为:https://www.cognitoforms.com/你的表单所属账户/表单名称?字段内部名称=用户动态值举个实际例子:如果你的表单URL是
https://www.cognitoforms.com/MyBusiness/CustomerFeedback,姓名字段内部名称是FullName,当前用户姓名是「李四」,生成的URL就是:https://www.cognitoforms.com/MyBusiness/CustomerFeedback?FullName=李四注意:如果用户数据包含空格、特殊字符,需要对值进行URL编码(比如前端用JavaScript的
encodeURIComponent(),后端用对应语言的编码方法),避免参数解析错误。多字段批量预填充
若要同时填充多个字段,用&连接多个参数即可,示例:https://www.cognitoforms.com/MyBusiness/CustomerFeedback?FullName=李四&Email=lisi@example.com&Phone=13800138000额外优化:内置用户变量(仅适用于Cognito内置登录)
如果你的表单是面向Cognito Forms内置会员系统的登录用户,无需拼接URL参数,直接在表单字段的「默认值」中设置内置变量即可,比如姓名字段默认值设为=User.FullName,邮箱设为=User.Email,用户登录后打开表单会自动填充对应信息。
内容的提问来源于stack exchange,提问作者RogueWolf

