1

我正在尝试使用 ColdFusion MX7 的旧/旧版本来提交表单结果,并且不运行 PHP。我让它只适用于一封电子邮件。但是,我实际上需要将它发送到不同的电子邮件,具体取决于某人从下拉菜单中选择的内容。我只是不知道使用什么代码将完成的基于 HTML 的表单发送到正确的电子邮件。

代码:

<cfif isdefined("FORM.send") and FORM.send eq "Send">  
    <cfmail from="ContactForm" to="contact@simpleform.com" subject="SimpleForm" type="html">
    Name: #FORM.TXTNAME#
    Business Name: #FORM.TXTBUSINESSNAME#
    Email: #FORM.TXTEMAIL#
    Phone: #FORM.TXTPHONE#
    Comment: #FORM.TXTCOMMENT#
    Date / Time Sent: #dateformat(now(), "yyyy/mm/dd")# at #timeformat(now(), "HH:mm:ss tt")#
    </cfmail>
</cfif>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Simple Contact Form</title>
</head>

<body>
<fieldset>
    <legend>Contact Form</legend>
    <form id="simpleForm" name="simpleForm" method="post" action="">
    <table width="100%" border="0" cellspacing="0" cellpadding="4">
        <tr>
            <td width="20%" align="right">Name:</td>
            <td width="80%"><input type="text" name="txtName" id="txtName" /></td>
        </tr>
        <tr>
            <td align="right">Business Name:</td>
            <td><input type="text" name="txtBusinessName" id="txtBusinessName" /></td>
        </tr>
        <tr>
            <td align="right">Email:</td>
            <td><input type="text" name="txtEmail" id="txtEmail" /></td>
        </tr>
        <tr>
            <td align="right">Phone:</td>
            <td><input type="text" name="txtPhone" id="txtPhone" /></td>
        </tr>
        <tr>
            <td align="right" valign="top">Comment:</td>
            <td><textarea name="txtComment" id="txtComment" cols="45" rows="5"></textarea></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td><hr width="100%" size="1" /></td>
        </tr>
      <tr>
          <td>&nbsp;</td>
            <td><input type="submit" name="send" id="send" value="Send" /></td>
      </tr>
    </table>


<SELECT SIZE="1" name="team">
<OPTION>Select your team</OPTION>
<OPTION VALUE="teama" name="teama">Team A</OPTION>
<OPTION VALUE="teamb" name="teamb">Team B</OPTION>
<OPTION VALUE="teamc" name="teamc">Team C</OPTION>
<option value="teamc" name="teamc">Team D</option>
</SELECT>
    </form>
</fieldset>
</body>
</html>
4

1 回答 1

4

马特所说的......基本上是这样的:

<cfif structKeyExists(FORM, "send") and FORM.send eq "Send">  
    <cfswitch expression="#Form.team#">
        <cfcase value="teama">
            <cfset emailTo = "joe.bloggs@example.com">
        </cfcase>
        <cfcase value="teamb">
            <cfset emailTo = "teamB.email@example.com">
        </cfcase>
        ... etc
        <cfdefaultcase> <!--- default if all else fails --->
            <cfset emailTo = "contact@simpleform.com">
        </cfdefaultcase>
    </cfswitch>

    <cfmail from="ContactForm" to="#emailTo#" subject="SimpleForm" type="html">
   ...
    </cfmail>
</cfif>

还要注意使用 structKeyExists 而不是 isDefined - 通常被认为是更好的做法。

于 2013-05-01T14:10:47.987 回答