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

表单提交时输入字段值重置问题排查与解决请求

解决FormStack隐藏字段JS赋值后被清空的问题

问题根源

FormStack内置脚本逻辑可能会在字段获得焦点时自动清空值,同时对隐藏字段有特殊校验,非用户交互输入的值容易被重置。

解决方案

1. 阻止字段的focus清空行为

直接拦截字段的focus事件,避免内置逻辑触发清空:

const field = document.getElementById('field123456789');
// 添加捕获阶段的事件监听,阻止默认行为和事件传播
field.addEventListener('focus', (e) => {
  e.preventDefault();
  e.stopImmediatePropagation();
}, true);
// 赋值
field.value = 'code-calculate-value';

2. 设置字段为只读

既然字段初始是隐藏的,设置为只读可以避免用户触发focus事件,同时保留赋值内容:

const field = document.getElementById('field123456789');
field.readOnly = true;
field.value = 'code-calculate-value';

3. 表单提交前重新赋值

在表单提交的瞬间重新给字段赋值,覆盖可能被清空的内容:

const form = document.querySelector('form');
form.addEventListener('submit', () => {
  const field = document.getElementById('field123456789');
  field.value = 'code-calculate-value'; // 如果是动态值,可提前存在变量中
});

4. 检查FormStack后台设置

  • 进入字段编辑页面,确认提交时包含此字段选项已开启;
  • 关闭可能存在的“仅允许用户手动输入”类限制,这类设置会自动清空脚本赋值的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 00:58:16