【问题标题】:CFMail Return to FormCFMail 返回表格
【发布时间】:2012-06-08 21:44:57
【问题描述】:

我的网页末尾有一个反馈表单,一旦用户填写并提交,它就会发送到我的电子邮件地址。电子邮件发送,但浏览器发送到 cfm 文件。我希望能够隐藏表单并用感谢信息替换它。这可能吗?如果没有,最好只停留在表单所在的网页上。

谢谢大家。

【问题讨论】:

  • 在选择第一个作为正确答案之前,您应该尝试获得几个答案。将来,您将获得更多帮助。

标签: coldfusion cfmail


【解决方案1】:

您可以将用户发送到您想要的任何地方。只需在电子邮件发送后使用 cflocation 将它们发送到某个地方,或者将它们保持在同一页面上并仅显示一条感谢消息。

【讨论】:

  • 谢谢。有没有办法不打开那个cfm页面,而只是用感谢信息替换表格?基本上,转到另一个 url,然后返回我的网站可能很难仅在用户提交表单时替换表单。
【解决方案2】:

很多时候,表单被提交到同一个页面和一个隐藏的表单字段,该字段会触发后续的 if 语句。假设您在 form.cfm 页面上。你会提交这样的表格吗?

<form action="form.cfm">
<input type="hidden" name="ThisFormWasSubmitted">
 // form stuff
</form>

您可以在表单上方使用 if 语句来显示表单或显示感谢您提交表单,如下所示:

<cfif structKeyExists(FORM, "ThisFormWasSubmitted")>
    // process the form
    // show thank you message
<cfelse>
    // show the form
</cfif>

这肯定有几十种变化。

【讨论】:

  • 我开始认为我应该将表单写入 cfm 文件。截至目前,表单在我的 html 文件中,该文件打开了 cfm 文件。该文件的唯一内容是 标记。如果我希望将用户保留在 html 页面上/替换表单,这是一种获取用户反馈的糟糕方式吗?感谢您的帮助。很抱歉在回答问题上急于求成——显然,我是新手。
  • 欢迎来到 StackOverflow!如果您在 ColdFusion 服务器上,最好让每个页面都有一个 CFM 文件。这样,您可以在每个页面上提供大量 CF 内容。处理 CF 代码的开销很小。 (您也可以对答案进行投票,而不仅仅是接受。)
【解决方案3】:

一般来说,在提交数据后,如果用户点击刷新,最好使用重定向来避免第二次提交。

cflocation 标签将允许您简单地执行此操作。

我建议您将数据发布到“处理”cfm 文件(或者,更好的是 cfc),然后使用 cflocation 标签将您带到感谢页面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 2020-10-15
    • 1970-01-01
    相关资源
    最近更新 更多