javascript asp教程第五课--合二为一
程序员文章站
2023-12-04 18:12:22
两条防线,一个函数: 试问你如何能保证客户端和服务器端具有相同的功能?表单域的验证闪现在我们眼前。别人把你的html复制到另外一个脚本,然后改变客户端的表单域验证--这并不...
两条防线,一个函数:
试问你如何能保证客户端和服务器端具有相同的功能?表单域的验证闪现在我们眼前。别人把你的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 转载请注明
试问你如何能保证客户端和服务器端具有相同的功能?表单域的验证闪现在我们眼前。别人把你的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 转载请注明