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

Wix Velo:如何获取checkoutBooking所需FormFields的_id并实例化对象?

如何获取自定义预订表单字段ID并实例化FormFields对象

1. 通过服务API拉取自定义表单字段元数据

调用对应服务的详情查询API(通常是GET /api/services/{serviceId}这类端点),响应数据里会包含该服务绑定的自定义预订表单信息,其中的fields数组会列出所有表单字段,每个字段对象都带有唯一的_id属性。

比如返回结构大概是:

{
  "id": "service_789",
  "name": "上门维修服务",
  "customBookingForm": {
    "fields": [
      {
        "_id": "field_123",
        "label": "联系人姓名",
        "type": "text"
      },
      {
        "_id": "field_456",
        "label": "联系电话",
        "type": "phone"
      }
    ]
  }
}

2. 关联表单控件与字段ID

在渲染你自己的自定义注册表单时,把每个输入控件和对应的字段_id绑定起来——比如可以把_id存在控件的data-field-id属性里,或者在前端状态中维护“控件标识-字段ID”的映射关系。这样用户填写完表单后,就能快速匹配到对应的字段ID。

3. 构造FormFields对象

收集用户输入后,以字段的_id作为键,用户输入的值作为值,组装成键值对集合:

// 示例:假设从表单获取了用户输入,且已拿到字段ID映射
const formFields = {
  "field_123": document.querySelector('[data-field-id="field_123"]').value,
  "field_456": document.querySelector('[data-field-id="field_456"]').value
};

这个formFields对象就可以直接传给checkoutBooking方法使用。

注意要点

  • 确保API请求携带正确的授权信息,避免因权限不足无法获取表单字段数据
  • 匹配字段类型:比如日期字段要传入符合格式的字符串,下拉框要传入字段定义中允许的选项值,否则提交会失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 05:42:35