- 上一篇 2002年12月23日程序设计 [2005-1-16 15:42:00]
| 微软MCSE2003:Security | 微软MCSE2003+MCDBA |
| Cisco网络工程师CCNA | 华为认证网络工程师(HCNE) |
| CorelDRAW 12 官方认证 | Adobe平面设计师(ACCD) |
| AutoCAD(2006)认证专家 | Adobe网络设计师(ACCD) |
| 软件加密与解密工程师培训 | 网络应用工程师 |
| 国家信息化网络安全工程师 | CEAC网络应用工程师 |
1.Dophin问:为什么我实现的的是滚动条向上滚动,而不是向下?
display.asp代码:
<% @ language=vbscript %>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="refresh" content="5;url="display.asp"><BR><FONT color=#660000><script language="javascript1.1"><BR>function scrollwindow()<BR>{<BR>this.scroll(0,6500);<BR>settimeout('scrollwindow()',200);<BR>}<BR>scrollwindow();<BR></script><BR></FONT><meta name="generator" content="microsoft visual studio 6.0"><BR></head><BR><body><BR><p align=right><%=now%></p><BR><%<BR>response.write application("talk")<BR>%><BR></body><BR></html><BR>
答:
滚动的实现方法:
var y = 0;
var when = null;
function scrollMe() {
if (document.all && y < document.body.scrollHeight || y < document.height) {
this.scroll(0,y);
y = y + 4;
when = setTimeout('scrollMe()',1);
}
}
scrollMe() 函数在 onMouseOver或页面双击 事件发生时调用,另一个stopMe() 函数则在onMouseOut 事件或页面单击时调用。
function stopMe() {
clearTimeout(when);
}
回滚的实现方法:
function rollMe() {
if (y >= 0) {
this.scroll(0,y)
y = y - 4;
when = setTimeout('rollMe()',1);
}
}
让内容直接滚动到最上方:
function topMe() {
this.scroll(0,0);
y = 0;
}
若在 topMe() 函数中不重新设定变量 y 的值为 0,则当往下或者往上滚动时,页面內容会直接跳回你呼叫 topMe() 之前所在的位置。
滚动到最低端:
function bopMe() {
if (document.all) {
this.scroll(0,document.body.scrollHeight);
y = document.body.scrollHeight;
} else {
scroll(0,document.height);
y = document.height;
}
}
2.Dophin问:在dreamwaverMX中经常出现中文变成不可认识的代码,如下这段asp程序代码。
这段asp程序代码中的flag是什么意思?
为什么在测试时仍然出现源代码在IE中?
这段asp程序代码:
<% @ language=vbscript %>
<%
flag=0
flag1=0
flag2=1
flag3=1
username=request("username")
no=request("no")
len_no=len(no)
len_username=len(username)
if username<>""and no<>""then
flag=1
if mid(no,1,1)="n" then
flag1=1
end if
for i= 1 to len_no
if mid(no,i,1)="<"then
flag2=0
end if
next
for j=1 to len_username
if mid(username,j,1)="<"then
flag3=0
end if
next
end if
%>
< % if flag=1 and flag1=1 and flag2=1 and flag3=1 then
session("username")=username
session("no")=no
response.redirect"chatpage.htm"
end if
%>
<html>
<head>
<meta name="generator" content="microsoft visual studio 6.0">
</head>
<body>
<form action="chatmain.asp" method="post">
ÇëÊäÈëÄãµÄÃû×Ö£º<input name="username" type="text" size="10" value="dolphin">
ÇëÊäÈëÄãµÄ»úÆ÷ºÅ£º<input name="no" type="text" size="8" value="n22">
<input type="submit" size="8" value="Ìá½»">
</form></body>
</html>
答:这说明你的DreamwaverMX对中文支持不好或有部分中文被删除了半个汉字。建议使用中文版的DreamwaverMX 2004。
代码中的flag是一个标志变量,用于控制程序的走向的,初始值为0,以下代码只要用户提供的useranme和no不为空,则赋值为1。
if username<>""and no<>""then
flag=1
其它flag1,flag2和flag3功能类似。
if flag=1 and flag1=1 and flag2=1 and flag3=1 then
session("username")=username
session("no")=no
response.redirect"chatpage.htm"
end if
以上代码判断若这些标志变量均为1(即在设置这些变量为1的地方的条件如果都成立的话),则跳转到chatpage.htm页面,否则仍停留在当前的表单提交页面。
测试时仍然出现源代码在IE中,说明二种情况,一是WEB服务器运行不正常,二是ASP代码表达不正确,比如未加<%或%>标记,或标记表达错误。仔细阅读程序,发现你的以下语句中的<%表达成了< %
< % if flag=1 and flag1=1 and flag2=1 and flag3=1 then
将其改为以下格式即可解决问题。
<% if flag=1 and flag1=1 and flag2=1 and flag3=1 then
注意<%中的<和%之间不能有空格。
3.Dophin问:这里有一个简单的聊天室源程序代码,但我就是不能IE正确预览。浏览器返回的结果如下:
HTTP 错误 500.100 - 内部服务器错误 - ASP 错误
Internet 信息服务
--------------------------------------------------------------------------------
技术信息(用于支持人员)
错误类型:
Microsoft VBScript 编译器错误 (0x800A0400)
缺少语句
/mytest/chat.asp, line 10
&mywords
浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
网页:
GET /mytest/chat.asp
时间:
2004年3月1日, 16:34:37
详细信息:
Microsoft 支持
源代码如下:
<% @ language=vbscript %>
<html>
<head>
</head>
<body>
<%
mywords=request("mywords")
application.Lock
application("chat_content")=application("chat_content")&"<br>"
&mywords
response.write application("chat_content")
application.UnLock
%>
<form action="chat.asp" method="post">
<input type="text" size="30" name="mywords" value="I like chat in the chat room">
<input type="submit value="提交"><BR></form><BR></body><BR></html></FONT></FONT></P>
<P><FONT face=宋体 color=#000000>请问老师,问题在哪里?</FONT></P>
答:
出错报告基本告诉了你出错的位置和原因。
缺少语句
/mytest/chat.asp, line 10
&mywords
将&mywords与上面的语句表达在同一行上,不要分行。最终语句应为:
application("chat_content")=application("chat_content") & "<br>" & mywords
另外,强列建议你在IIS管理器中,启用服务器端脚本调试,这样出错时,系统就会弹出错误调试对话框,会显示程序源代码和出错的具体语句。
打开方法:在默认WEB站点中右击,打开属性对话框,选择主目录->配置->应用程序调试->启用服务器端脚本调试
站内检索: |
|