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

如何在Formstack表单只读字段中预填Epoch时间戳(无全局JS权限)

解决方案
  • 你之前用的FF_OnBeforeRender回调函数在Formstack基础版里大概率不被支持,触发时机不对导致代码没执行。换用标准的DOM加载事件来确保表单元素渲染完成后再赋值更可靠。
  • 另外要注意:Formstack的字段ID通常会自带field_前缀,你预览时看到的159978255可能只是字段编号,实际DOM元素的ID应该是field_159978255,直接用数字ID会找不到元素。

修改后的代码示例:

<script type="text/javascript">
// 等待页面DOM完全加载后执行逻辑
document.addEventListener('DOMContentLoaded', function() {
  // 生成秒级Unix时间戳(要毫秒级直接用Date.now()即可)
  const timeStamp = Math.floor(Date.now() / 1000);
  // 替换为你实际的字段完整ID
  const targetField = document.getElementById('field_159978255');
  
  if (targetField) {
    targetField.value = timeStamp;
    // 强制设置字段为只读,防止用户修改
    targetField.setAttribute('readonly', true);
  }
});
</script>
  • 补充调整方案:如果Embed Code字段加载顺序靠后,表单元素可能还没渲染,可加个短延迟确保元素存在:
<script type="text/javascript">
setTimeout(function() {
  const timeStamp = Math.floor(Date.now() / 1000);
  const targetField = document.getElementById('field_159978255');
  if (targetField) {
    targetField.value = timeStamp;
    targetField.setAttribute('readonly', true);
  }
}, 500);
</script>
  • 关键检查点:
    1. 在表单预览页右键目标字段选「检查」,确认元素的id属性完整值,必须和代码里的ID完全匹配。
    2. 确保Embed Code字段放在表单的靠前位置,或者延迟时间足够覆盖表单渲染时长。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 18:53:15