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

表单提交后邮件显示日期时间值而非文本的技术求助

问题:邮件中日期时间仅显示数值而非对应文本

我们网站的活动预约表单提交后,用户收到的邮件里,校区位置能正常显示,但日期时间只显示26、27这类数值,看不到对应的"Wednesday 5th July 2023, 4pm - 7pm"或"Wednesday 5th July 2023, 2pm - 7pm"文本内容,需要修复这个问题。

可行修复方案

方案1:修改邮件模板,添加数值-文本映射判断

参考校区字段的处理逻辑,在邮件模板里给日期时间字段加条件判断,匹配数值显示对应文本:

<h3 style="color: #0f5f72;">Booking Details</h3>
<p><strong>Course Area:</strong> {CourseAreaID:text}<br> 
<strong>Campus:</strong> {if {CampusID:text}=1} St Helens Town Centre Campus{/if} {if {CampusID:text}=2} Knowsley Main Campus (Stockbridge){/if}<br> 
<strong>Date and Time:</strong> 
{if {EventDateID:text}=26} Wednesday 5th July 2023, 4pm - 7pm{/if} 
{if {EventDateID:text}=27} Wednesday 5th July 2023, 2pm - 7pm{/if}
</p>

方案2:修改前端JS,让表单提交日期文本(如果后端允许)

如果后端接受日期字段存储文本值,可以修改JavaScript里的datesc.options[1].value赋值,把数值换成对应的文本:

// 原代码
datesc.options[1].value = 26;
// 修改为
datesc.options[1].value = "Wednesday 5th July 2023, 4pm - 7pm";

// 原代码
datesc.options[1].value = 27;
// 修改为
datesc.options[1].value = "Wednesday 5th July 2023, 2pm - 7pm";

这样邮件模板里的{EventDateID:text}就能直接显示文本内容了。

方案3:后端处理数值映射

在后端发送邮件前,建立一个日期数值与文本的映射表,把EventDateID的数值转换成对应文本后再填充到邮件模板里。比如用类似这样的逻辑(伪代码示例):

date_mapping = {
    "26": "Wednesday 5th July 2023, 4pm - 7pm",
    "27": "Wednesday 5th July 2023, 2pm - 7pm"
}
event_date_text = date_mapping.get(event_date_value, event_date_value)

然后把转换后的event_date_text代入邮件模板对应的位置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 15:07:43