ASP CDO如何添加条件检查(IF)以忽略空文本框和换行符

时间:2014-01-09 13:12:28

标签: asp-classic cdo.message

我正在使用经典ASP为用户填写在线表格,然后提交电子邮件。

在表单上有一些输入文本框,可能是空白的。在我的电子邮件输出中,我列出了:

专栏1:答案

方框2:答案

方框3:“空白”

方框4:“空白”

电子邮件的下一段从这里开始......

我希望代码忽略Box3& 4,换行并直接向下移动到下一段。

专栏1:答案

方框2:答案

电子邮件的下一段从这里开始......

我在下面添加了我的代码。请查看我添加了条件检查的“Os1”。我知道它很乱,但我是ASP的新手。

如果这是一个简单的答案,也许有人也可以回答我如何将HTMLBody部分移动到下面的行上,这样我就可以更容易阅读,因为它全部在一行上。如果我尝试移动到下一行并输入正文文本,则表单无效。

<!-- 
METADATA 
TYPE="typelib" 
UUID="CD000000-8B95-11D1-82DB-00C04FB1625D"  
NAME="CDO for Windows 2000 Library" 
-->  

<%
semaila = request.form("first name")
semailb = request.form("surname")
broker = request.form("broker name")
cust = request.form("cust name")
sapp = request.form("app number")
' Checks that the form value os1 is not empty, then appends the form value plus linebreaks,
' otherwise it is left empty.
If request.form("os1") <> "" Then
os1 = request.form("os1") + "<br><br>"
Else
os1 = "";
End If
os2 = request.form("os2")
os3 = request.form("os3")
os4 = request.form("os4")
os5 = request.form("os5")
os6 = request.form("os6")
os7 = request.form("os7")
sadded = request.form("added")



Set cdoConfig = CreateObject("CDO.Configuration")  

With cdoConfig.Fields  
    .Item(cdoSendUsingMethod) = cdoSendUsingPort  
    .Item(cdoSMTPServer) = "00.000.00.000"  
    .Update  

End With 

With cdoMessage 

' Checks that the form value os1 is not empty, then appends the form value plus line     breaks,
' otherwise it is left empty.
If request.form("os1") <> "" Then
os1 = request.form("os1") + "<br><br>"
Else
os1 = "";
End If

Set cdoMessage = CreateObject("CDO.Message")  

With cdoMessage 
    Set .Configuration = cdoConfig 
    .From = "name@example.com"
    .To = "name@example.com" 
    .Subject = QueryType 
    .HTMLBody = "<HTML><head><title></title></head><body><body bgcolor=""white"" TEXT=""black"" ALINK=""black"" VLINK=""black""> <font face=""ariel""> Dear "& broker &", <br><Br>We have today reviewed the mortgage application you submitted to us for your client in the name of: <br><br> <b> Name:</b> "& cust &" &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp <b>Application Number:</b> "& sapp &" <br><br> In order for us to process your application further we need to be in receipt of the following outstanding items and would be grateful if you could arrange to forward these at your earliest convenience. <br><br> "& os1 & " <br><br> "& os2 & " <br><br> "& os3 & " <br><br> "& os4 & " <br><Br> "& os5 & " <br><br> "& os6 & " <br><br> "& os7 & " <br><Br> Other outstanding items that we have chased today....(The rest of the email will follow..) </font></body></HTML>" 
    .Send 

End With 


Set cdoMessage = Nothing  
Set cdoConfig = Nothing  






Response.write "<HTML><head><title></title></head><body><body bgcolor=""#161712"" TEXT=""white"" ALINK=""white"" VLINK=""white""><center><br><br><Br><Br><Br><br><br><br><Br><br><Br><br>Your request has been submitted....<br><br><br><a href = ""javascript:window.close();""> Click here to close window </a> </center></body></HTML>"

%>

2 个答案:

答案 0 :(得分:1)

没有测试过,但是那可以解决问题

dim os1 : os1 = request.form("os1") & ""
dim os2 : os2 = request.form("os2") & ""
dim os3 : os3 = request.form("os3") & ""
dim os4 : os4 = request.form("os4") & ""
dim os5 : os5 = request.form("os5") & ""
dim os6 : os6 = request.form("os6") & ""
dim os7 : os7 = request.form("os7") & ""

With cdoMessage 
    Set .Configuration = cdoConfig 
    .From = "name@example.com"
    .To = "name@example.com" 
    .Subject = QueryType 
    .HTMLBody = "<HTML><head><title></title></head><body><body bgcolor=""white"" TEXT=""black"" ALINK=""black"" VLINK=""black""> <font face=""ariel""> Dear " &_
                broker & ", <br><Br>We have today reviewed the mortgage application you submitted to us for your client in the name of: <br><br> <b> Name:</b> " &_
                cust & " &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp <b>Application Number:</b> " & sapp &_
                " <br><br> In order for us to process your application further we need to be in receipt of the following outstanding items and would be grateful " &_
                "if you could arrange to forward these at your earliest convenience. <br><br> " &_
                iif(os1<>"", os1 & "<br><br>", "") &_
                iif(os2<>"", os2 & "<br><br>", "") &_
                iif(os3<>"", os3 & "<br><br>", "") &_
                iif(os4<>"", os4 & "<br><br>", "") &_
                iif(os5<>"", os5 & "<br><br>", "") &_
                iif(os6<>"", os6 & "<br><br>", "") &_
                iif(os7<>"", os7 & "<br><br>", "") &_
                " <br><Br> Other outstanding items that we have chased today....(The rest of the email will follow..) </font></body></HTML>" 
    .Send 

End With 


function iif(i, j, k)
    if i then iif = j else iif = k
end function

答案 1 :(得分:0)

如何以其他方式检查request.form中的“nothing”:

if Len(Request.Form("os1") > 0) Then

if Not IsEmpty(Request.Form("os1")) Then