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

如何获取用户选中的卡片样式及对应值并传递到后端

获取选中卡片值并提交后端实现方案

核心逻辑

你使用的是Swiper轮播组件,当前选中的卡片对应Swiper的activeIndex激活索引,拿到索引后即可提取对应卡片的所有字段值,组装后提交到后端即可。

代码实现

1. JS逻辑编写

// 初始化Swiper实例(保留你原有配置,新增事件监听即可)
const cardSwiper = new Swiper('.swipercards', {
  // 原有配置项:loop、slidesPerView等保持不变
  on: {
    // 轮播切换完成时触发
    slideChange: getCurrentCard,
    // 点击卡片时触发(可选,适配点击选中场景)
    click: getCurrentCard
  }
})

// 提取当前激活卡片信息的方法
function getCurrentCard() {
  // 拿到当前激活的slide节点
  const activeCard = document.querySelectorAll('.swipercards .swiper-slide')[cardSwiper.activeIndex]
  // 组装卡片参数
  const submitData = {
    cardType: activeCard.querySelector('.card-header h6').textContent.trim(),
    cardNumber: activeCard.querySelector('.card .card-body h5').textContent.replaceAll(' ', ''),
    expiryDate: activeCard.querySelector('.card-footer .col p').textContent.trim(),
    cardHolder: activeCard.querySelector('.card-footer .col-auto p').textContent.trim()
  }
  // 此处直接调用后端接口提交submitData即可
  // 提交示例:
  // axios.post('/your/api/path', submitData).then(res => {
  //   // 处理提交结果
  // })
}

2. 可选优化(推荐)

可以直接给每张swiper-slide节点预存卡片参数,避免每次从DOM多层查询,修改HTML如下:

<div class="swiper-slide" 
  data-card-type="Visa" 
  data-card-number="44445264254126651" 
  data-expiry="26/21" 
  data-holder="Agnish Carvan">
  <!-- 原有卡片内容不变 -->
</div>

对应的提取逻辑可简化为:

function getCurrentCard() {
  const activeCard = document.querySelectorAll('.swipercards .swiper-slide')[cardSwiper.activeIndex]
  const submitData = activeCard.dataset
  // 直接取submitData.cardType、submitData.cardNumber等字段提交即可
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:15:07