javascript asp教程第五課
4257 ワード
二つの防御線、一つの関数:お聞きしたいのですが、クライアントとサーバーの端に同じ機能があるとどうやって保証できますか?フォームドメインの検証が私たちの目の前にひらめいた。他の人があなたの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 通訳:huah ua 転載は明記してください