javascript asp教程第五课--合二为一

时间:2021-05-28

两条防线,一个函数:
试问你如何能保证客户端和服务器端具有相同的功能?表单域的验证闪现在我们眼前。别人把你的html复制到另外一个脚本,然后改变客户端的表单域验证--这并不是一件难事。摆在眼前的解决方法是将表单域的验证放置在服务器端。但那又意味着因为使用者的一个小错误,都要给服务器端要返回一串的错误信息。那么,我们何不同时拥有二者呢?不仅仅如此,我们还可以在客户端和服务器端使用同一个javascript函数来保证二者的完全一致性。
看看下面这一小段,请特别注意一下checkMyZip()函数。
复制代码 代码如下:
<%@LANGUAGE="JavaScript"%>
<%
//NoASPHere,justaregularHTMLPage
%>
<HTML>
<SCRIPTLANGUAGE="JavaScript">
<!--Hide
functioncheckMyZip(zipCode)
{
varmyRegularExpression=/(^\d{5}$)|(^\d{5}-\d{4}$)/
if(myRegularExpression.test(zipCode)==true)
{
returnnothingIsWrong();
}
else
{
returnsomethingIsWrong();
}
}

functionnothingIsWrong()
{
//Donothing
returntrue
}

functionsomethingIsWrong()
{
alert("Somethingiswrongwiththezipcodeyouprovided.")
document.zipCodeForm.zipCodeText.focus()
returnfalse;
}
//StopHiding-->
</SCRIPT>
<STRONG>TypeavalidU.S.Postalzipcodeintothebox,andsubmitit.</STRONG>
<FORMNAME="zipCodeForm"ACTION="script05a.asp"METHOD="Post"
onSubmit="returncheckMyZip(document.zipCodeForm.zipCodeText.value)">
<INPUTTYPE="Text"NAME="zipCodeText"><BR>
<BR>
<INPUTTYPE="Submit"VALUE="Submit">
</FORM>
</HTML>



我们在本课中看到的就是作为你用javascript来编写asp脚本的一个最大的回报。看看下边的脚本,然后再次注意checkMyZip()函数。
复制代码 代码如下:
<%@LANGUAGE="JavaScript"%>
<%
functioncheckMyZip(zipCode)
{
varmyRegularExpression=/(^\d{5}$)|(^\d{5}-\d{4}$)/
if(myRegularExpression.test(zipCode)==true)
{
returnnothingIsWrong();
}
else
{
returnsomethingIsWrong();
}
}

functionnothingIsWrong()
{
//Donothing
returntrue
}

functionsomethingIsWrong()
{
returnfalse;
}

varzipCode=newString(Request.Form("zipCodeText"))

if(checkMyZip(zipCode)==true)
{
Response.Write("<HTML>\r")
Response.Write("Thezipcodeyouprovided...")
Response.Write("<FONTCOLOR=\"RED\">")
Response.Write(zipCode+"</FONT>isgood.\r")
Response.Write("</HTML>\r")
}
else
{
Response.Write("<HTML>\r")
Response.Write("Thezipcodeyouprovided...")
Response.Write("<FONTCOLOR=\"RED\">")
Response.Write(zipCode+"</FONT>hasaproblem.\r")
Response.Write("</HTML>\r")
}

%>



这并不是最完美的列子,但是它包含了我们所要讲授的要点。客户端和服务器端严正数据的函数是完全一样的。支持函数是一样的饿,但是变化确是明显的。仅仅是个玩笑,让我们来看看下面的脚本。它并没有客户端验证。
复制代码 代码如下:
<%@LANGUAGE="JavaScript"%>
<%
//NoASPHere,justaregularHTMLPage
%>
<HTML>
<STRONG>Typeazipcode(withnoclientsidevalidation)
intotheboxsubmitit.</STRONG>
<FORMNAME="zipCodeForm"ACTION="script05a.asp"METHOD="Post">
<INPUTTYPE="Text"NAME="zipCodeText"><BR>
<BR>
<INPUTTYPE="Submit"VALUE="Submit">
</FORM>
</HTML>



第一部分小节:
这是本课程计划第一部分的小节。有过用vbscript编写asp的朋友并不需要在本站上有更进一步的研究。他们现在可以使用他们客户端脚本的使用技巧去将任何的函数(子程序),任何的页面,或者是任何的应用程序转换为javascript。
其他的朋友则需要留下来继续我们在第二部分的旅程。

本节原文及范例地址:http://aspjavascript.com/lesson05.asp
原文作者:JamesClark翻译:huahua转载请注明

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章