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

Stripe Address Element:如何获取姓名字段值?官方代码未返回该值

解决Stripe Address Element姓名字段获取问题

你遇到的问题核心是:Stripe Address Element的姓名字段并不包含在返回的event.value.address对象里,而是作为独立属性存放在event.value.name中。

正确获取方式

直接从event.value中提取name属性即可,无需操作DOM。修改你的代码如下:

addressElement.on('change', (event) => {
  if (event.complete){
    // 提取姓名和地址
    const fullName = event.value.name;
    const address = event.value.address;
    
    // 使用获取到的值
    console.log('用户姓名:', fullName);
    console.log('用户地址:', address);
  }
})

原因说明

Stripe的Address Element在配置包含姓名字段时,会将姓名与地址拆分为两个独立的顶层字段返回:

  • event.value.name:存储用户输入的姓名
  • event.value.address:仅存储地址相关的字段(街道、城市、邮编等)

官方文档的示例可能只展示了地址部分的提取,但完整的event.value对象包含所有你配置的字段。

为什么不推荐临时方案

你用document.getElementById('Field-nameInput').value的方式虽然能拿到值,但存在隐患:Stripe Elements的DOM结构是内部维护的,后续版本可能会修改元素ID或结构,导致你的代码失效。而通过event.value获取是官方推荐的标准方式,更稳定可靠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 14:05:23