ASP CDO How to add a conditional check (IF) to ignore an empty text box and line breaks

783 views Asked by At

I am using classic ASP for the user to fill in a form online which then submits an email.

On the form there are a few input text boxes which will likely be blank. In my email output i have listed:

Box1: Answer

Box2: Answer

Box3: "Blank"

Box4: "Blank"

The next paragraph of the email starts here...

I want the code to ignore the Box3 & 4 and the line breaks and move straight down to the next paragraph.

Box1: Answer

Box2: Answer

The next paragraph of the email starts here...

I have added my code below. Please look at the "Os1" where i have added the Conditional Check. I am aware it is messy but i am a novice at ASP.

If this is an easy answer maybe someone could also answer how i can move the HTMLBody section onto line below so i can lay it out easier to read as it is all on one line. If i try to move to the next line and enter body text the form fails to work.

<!-- 
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 = "[email protected]"
    .To = "[email protected]" 
    .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

There are 2 answers

1
ulluoink On BEST ANSWER

have not tested it but that schould do the trick

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 = "[email protected]"
    .To = "[email protected]" 
    .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
ilker On

How to check "nothing" in request.form in other ways:

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

or

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