标题:javascript里面能否加入ASP代码?
只看楼主
usershop
该用户已被删除
已结贴  问题点数:20 回复次数:5 
javascript里面能否加入ASP代码?
提示: 作者被禁止或删除 内容自动屏蔽
搜索更多相关主题的帖子: javascript ASP 代码 
2010-05-17 12:20
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
2010-05-17 14:16
usershop
该用户已被删除
得分:0 
回复 2楼 yms123
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-17 22:13
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:20 
严格意义来讲javascript也是能在服务器端执行的
在客户端执行的脚本代码
一般只有在<script>脚本没有指明runat="server"的前提下比如
<script language="javascript" runat="server">
function abc()
{
   Response.Write("这是在服务器端执行的Javascript");
}
</script>

<script language="javascript" >
function abc()
{
   alert("这是在客户端执行的Javascript");
}
</script>
最最重要的一点,无论客户端用javascript或vbscript,或者服务器端。
客户端与服务器端的任何脚本和程序都是独立运行的,互不相干(无论这个脚本用什么语言写的)。
所以
<Script Language ="JAVAScript">
function baomcy(inches)  {
   var username = "<%=session("UserName")%>";
   if(username =="")
   alert("请登陆");
   else
   {
   <%
   dim rsuser
   set rsuser=server.createobject("adodb.recordset")
   sql3="SELECT * FROM aaa WHERE id="&ttid
   rsuser.open sql3,conn,1,3
   'rsuser.addnew
   rsuser("leib_user")=session("UserName")
   rsuser.update
   rsuser.close
  %>
  alert("成功提交!");
 }
你这段代码想要客户端判断用户名不为空,再修改数据库。
但是你这样写是错误的在于,服务器端的代码先执行,而且只会执行<%%>内或<script runat="server">的脚本,其他脚本不会执行。
所以<%%>早在网页加载时就执行了,因为服务器代码优先于客户端代码先执行。
这是因为网页是先从服务器端下载到客户端浏览器的,你输入网址的网页不存在你的电脑上。
通俗点说你输入百度网址,你电脑里存着百度的网页原始文件程序了么?
因此,实现你这个功能,要么用传统做法判断用户名是否为空后,提交表单或用self.location向服务器发送请求一个再来修改
要么使用Ajax来实现,不过Ajax也得要向服务器发送请求。
传统做法思路
<html>
<head>
<Script Language ="JAVAScript">
function baomcy(inches)
{
   var username = "<%=session("UserName")%>";
   if(username =="")
     alert("请登陆");
   else
   {
     var thref=self.location.href;
     if(thref.indexOf('?')!=-1)
        thref+="&Action=UpdateSession";
     else
        thref+="?Action=UpdateSession";
     self.location=thref;   
   }
}
function Page_Load()
{
 <%
   IF Request("Action")="UpdateSession" Then
      dim rsuser
      set rsuser=server.createobject("adodb.recordset")
      sql3="SELECT * FROM aaa WHERE id="&ttid
      rsuser.open sql3,conn,1,3
      rsuser("leib_user")=session("UserName")
      rsuser.update
      rsuser.close
      Response.Write "alert('成功提交');"
   End IF
 %>
}
Page_Load();
</script>
</head>
<body>
</body>
</html>

[ 本帖最后由 yms123 于 2010-5-18 16:48 编辑 ]
收到的鲜花
  • usershop2010-05-19 19:54 送鲜花  3朵   附言:我很赞同
2010-05-18 16:45
usershop
该用户已被删除
得分:0 
回复 4楼 yms123
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-18 20:19
usershop
该用户已被删除
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-19 19:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-306995-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.860190 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved