我正在創建一個簡單的表單,它需要一個取消代碼和電子郵件地址,存儲電子郵件地址,然後發送一封電子郵件。表單提交成功消息顯示
表單有一些腳本,用於檢查表中是否存在電子郵件地址,並且還查找另一個表以檢查它們輸入的引用代碼是否存在於另一個表中。
在我的頁面中,如果代碼不存在和/或電子郵件地址存在,我會顯示一條錯誤消息。但是,如果表單提交成功,那麼我希望表單被感謝信息所取代。
這是我的頁面中的代碼;
<%
sys_message = ""
If (Request.Form("form_submit") <> "") Then
%><!--#include file="doreferral.asp"--><%
End If %>
[...]
<% If(sys_message <> "") Then
Response.Write(sys_message)
End If %>
<form action="referral.asp#msg" name="frmRegister" id="form_referral" method="post">
<input name="fldCode" type="text" class="quick-referral-input" id="fldCode" value="Enter agent code" onblur="if(this.value=='')
this.value='Enter agent code';" onfocus="if(this.value=='Enter agent code') this.value='';"/>
<input name="fldEmail" type="text" class="quick-referral-input" id="fldEmail" value="Enter email address" onblur="if(this.value=='')
this.value='Enter email address';" onfocus="if(this.value=='Enter email address') this.value='';"/>
<input type="hidden" name="form_submit" value="submitted" />
<input type="image" class="quick-referral-submit" src="images/homepage/quick-referral-submit.gif" value="submit" alt="Submit button"
onClick="checkSignup();">
</form>
該表單使用doreferral.asp頁面進行插入/檢查;
<%
fldCode = replace(request.Form("fldCode"),"'","")
fldEmail = replace(request.Form("fldEmail"),"'","")
'' //Check the submitted email against existing ones in the database
set conn = server.CreateObject("ADODB.connection")
conn.open(application("DATABASE"))
qs = "SELECT COUNT(ReferredEmail) AS 'Count' FROM TenantReferral WHERE ReferredEmail = '" & fldEmail & "'"
set rs = conn.Execute(qs)
countEmail = rs("Count")
set rs = nothing
conn.close
set conn = nothing
If(countEmail >= 1) Then
sys_message = sys_message & "<p class='referral-thanks'>This email address has already been referred.</p>"
End If
''//Check the submitted code against existing ones in the database
set conn = server.CreateObject("ADODB.connection")
conn.open(application("DATABASE"))
qs = "SELECT COUNT(AgentReferralCode) AS 'CountCodes' FROM Customers WHERE AgentReferralCode = '" & fldCode & "'"
set rs = conn.Execute(qs)
CountCode = rs("CountCodes")
set rs = nothing
conn.close
set conn = nothing
If(CountCode < 1) Then
sys_message = sys_message & "<p class='referral-thanks'>The referral code does not exist.</p>"
End If
'' //Only Process the SQL if there is no sys_message
If(sys_message = "") Then
SQLfields = SQLfields & "ReferredCode, "
SQLvalues = SQLvalues & "'"& Trim(fldCode) &"', "
SQLfields = SQLfields & "ReferredEmail"
SQLvalues = SQLvalues & "'"& Trim(fldEmail) &"'"
SQL = SQL & "INSERT into TenantReferral ("& SQLfields &") VALUES ("& SQLvalues &")"
response.Write(SQL)
set conn = server.CreateObject("ADODB.connection")
conn.open application("DATABASE")
SET rs = conn.execute(SQL)
''//Email code goes here
response.Redirect("referral.asp")
End If
%>
我想知道是否有人可以發現任何可以更改/添加以顯示感謝消息但不顯示錶單的內容。我已經嘗試了幾次If語句,但沒有成功。
謝謝。
也許有一個回覆於()通過一個AJAX調用打印出成功/失敗和訪問它? – 2009-09-29 08:45:52
當你在VB代碼中有意見時,請把'''加倍到'''',然後按//或#進行。它使得代碼在SO中更具可讀性。例如。 '''//''或'''#' – AnthonyWJones 2009-09-29 09:32:29
好的提示安東尼,你能給我一個補丁嗎? – 2009-09-29 09:35:07