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

如何使用formsubmit.co提交HTML表单不触发页面跳转,显示页内成功提示

你之前写的表单提交拦截逻辑没有正确获取表单DOM对象,所以没有生效,还是会触发默认跳转。要实现无刷新提交、提交后替换表单为成功提示,按下面的方案修改即可:


第一步:调整HTML结构

首先给表单添加唯一ID,同时新增默认隐藏的提交成功提示区块:

  1. 把原form标签修改为:
<form id="waitlistForm" action="https://formsubmit.co/533cb72c9e26d2503a81229e9c8a246a" method="POST" class="row">
  1. 在form的同级位置(<div class="form w-100 pb-2">内部、form标签后面)新增成功提示区块:
<!-- 提交成功提示区块,默认隐藏 -->
<div id="submitSuccess" class="d-none text-center py-5">
  <i class="fas fa-check-circle text-success fs-1 mb-3"></i>
  <h4 class="fw-bold">提交成功!</h4>
  <p class="text-muted">我们已收到你的测试申请,会尽快同步Beta准入通知。</p>
</div>

第二步:替换提交逻辑

删掉你原来写的那段无效的form.onSubmit代码,在页面</body>标签前新增如下JS代码:

// 获取对应DOM元素
const waitlistForm = document.getElementById('waitlistForm');
const submitSuccessBlock = document.getElementById('submitSuccess');

waitlistForm.addEventListener('submit', function (e) {
  // 阻止表单默认跳转提交行为
  e.preventDefault();

  // 收集表单填写的所有数据
  const formData = new FormData(waitlistForm);

  // 异步提交表单数据
  fetch(waitlistForm.action, {
    method: waitlistForm.method,
    body: formData,
    headers: {
      'Accept': 'application/json'
    }
  }).then(response => {
    if (response.ok) {
      // 提交成功:隐藏表单,展示成功提示
      waitlistForm.classList.add('d-none');
      submitSuccessBlock.classList.remove('d-none');
      waitlistForm.reset();
    } else {
      alert('提交失败,请稍后重试');
    }
  }).catch(error => {
    alert('提交出错,请检查网络连接后重试');
  });
});

可选调整

如果你的页面没有引入Font Awesome图标库,可以删掉成功提示区块里的<i>标签,不会影响功能。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:51:01