javascript asp教程第五課–合二為一

來源:互聯網
上載者:User

兩條防線,一個函數:
試問你如何能保證用戶端和伺服器端具有相同的功能?表單域的驗證閃現在我們眼前。別人把你的html複製到另外一個指令碼,然後改變用戶端的表單域驗證--這並不是一件難事。擺在眼前的解決方案是將表單域的驗證放置在伺服器端。但那又意味著因為使用者的一個小錯誤,都要給伺服器端要返回一串的錯誤資訊。那麼,我們何不同時擁有二者呢?不僅僅如此,我們還可以在用戶端和伺服器端使用同一個javascript函數來保證二者的絕對一致性。
看看下面這一小段,請特別注意一下checkMyZip()函數。 複製代碼 代碼如下:<%@LANGUAGE="JavaScript"%>
<%
//No ASP Here, just a regular HTML Page
%>
<HTML>
<SCRIPT LANGUAGE="JavaScript">
<!--Hide
function checkMyZip(zipCode)
{
var myRegularExpression=/(^\d{5}$)|(^\d{5}-\d{4}$)/
if (myRegularExpression.test(zipCode) == true)
{
return nothingIsWrong();
}
else
{
return somethingIsWrong();
}
}

function nothingIsWrong()
{
//Do nothing
return true
}

function somethingIsWrong()
{
alert("Something is wrong with the zip code you provided.")
document.zipCodeForm.zipCodeText.focus()
return false;
}
//Stop Hiding-->
</SCRIPT>
<STRONG>Type a valid U.S. Postal zip code into the box, and submit it.</STRONG>
<FORM NAME="zipCodeForm" ACTION="script05a.asp" METHOD="Post"
onSubmit="return checkMyZip(document.zipCodeForm.zipCodeText.value)">
<INPUT TYPE="Text" NAME="zipCodeText"><BR>
<BR>
<INPUT TYPE="Submit" VALUE="Submit">
</FORM>
</HTML>

我們在本課中看到的就是作為你用javascript來編寫asp指令碼的一個最大的回報。看看下邊的指令碼,然後再次注意checkMyZip()函數。 複製代碼 代碼如下:<%@LANGUAGE="JavaScript"%>
<%
function checkMyZip(zipCode)
{
var myRegularExpression=/(^\d{5}$)|(^\d{5}-\d{4}$)/
if (myRegularExpression.test(zipCode) == true)
{
return nothingIsWrong();
}
else
{
return somethingIsWrong();
}
}

function nothingIsWrong()
{
//Do nothing
return true
}

function somethingIsWrong()
{
return false;
}

var zipCode=new String(Request.Form("zipCodeText"))

if (checkMyZip(zipCode)==true)
{
Response.Write("<HTML>\r")
Response.Write("The zip code you provided... ")
Response.Write("<FONT COLOR=\"RED\">")
Response.Write(zipCode + "</FONT> is good.\r")
Response.Write("</HTML>\r")
}
else
{
Response.Write("<HTML>\r")
Response.Write("The zip code you provided... ")
Response.Write("<FONT COLOR=\"RED\">")
Response.Write(zipCode + "</FONT> has a problem.\r")
Response.Write("</HTML>\r")
}

%>

這並不是最完美的列子,但是它包含了我們所要講授的要點。用戶端和伺服器端嚴正資料的函數是完全一樣的。支援函數是一樣的餓,但是變化確是明顯的。僅僅是個玩笑,讓我們來看看下面的指令碼。它並沒有用戶端驗證。 複製代碼 代碼如下:<%@LANGUAGE="JavaScript"%>
<%
//No ASP Here, just a regular HTML Page
%>
<HTML>
<STRONG>Type a zip code (with no client side validation)
into the box submit it.</STRONG>
<FORM NAME="zipCodeForm" ACTION="script05a.asp" METHOD="Post">
<INPUT TYPE="Text" NAME="zipCodeText"><BR>
<BR>
<INPUT TYPE="Submit" VALUE="Submit">
</FORM>
</HTML>

第一部分小節:
這是本課程計劃第一部分的小節。有過用vbscript編寫asp的朋友並不需要在本站上有更進一步的研究。他們現在可以使用他們用戶端指令碼的提示去將任何的函數(子程式),任何的頁面,或者是任何的應用程式轉換為javascript。
其他的朋友則需要留下來繼續我們在第二部分的旅程。

本節原文及範例地址:http://aspjavascript.com/lesson05.asp
原文作者:James Clark 翻譯:huahua 轉載請註明

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.