| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 412 人关注过本帖
标题:不执行的函数,请指教
只看楼主 加入收藏
kelind
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-12-14
结帖率:75%
收藏
已结贴  问题点数:0 回复次数:5 
不执行的函数,请指教
提交的onclick=“return check()"
function check()
{
if (document.form1.huohao1.value=="单击选择产品")
{
alert("还没有选择产品!");
return false;
}
if (document.form1.shulian1.value=="")
{
alert("请输入数量!");
return false;
}
if (document.form1.huiyuan3.value=="")
{
alert("会员没选择!")
return false
}
onsell()
}
</script>
<script  language="javascript">
function onsell()
{
<%
fukuan_money=request("fukuan_money")  "付款金额“
nowhuiyuan=request("huiyuan")         会员号"
nowshulian=request("shulian")         "数量"
nowprice=request("price")             "单价:
set rs_sell=server.createobject("adodb.recordset")
strsql="select * from huiyuan where card="&huiyuan   "会员表中会员号:card       "错误:'card='操作符丢失
set rs_sell=conn.execute(strsql)
set rs_ks=server.CreateObject("adodb.recordset")
str="select sum(price - fukuan_money) from sell where zu=true and id_huiyuan="&huiyuan   “错误:'id_huiyuan='操作符丢失
set rs_ks=conn.execute(str)

if (nowprice * nowshulian)-fukuan_money>0 then
   if (rs_ks(0)+(nowprice * nowshulian)-fukuan_money)-rs_sell("sfz")>0 then   "sfz:信用额度"
   %>
   {
   alert("信用额度不足")
   return false
   }
   <%
   end if
   end if
   %>
}
</script>

错误处改为:
strsql="select * from huiyuan where card=47“
str="select sum(price - fukuan_money) from sell where zu=true and id_huiyuan=47"
错误没有了,就是不执行。
请问:
1、为什么不能用&huiyuan? 如何用变量?
2、为什么不执行onsell()函数?
2011-07-25 23:10
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:10 
https://bbs.bccn.net/viewthread.php?tid=225295&extra=page%3D1%26amp%3Bfilter%3Ddigest
lz先看这个再来看你的代码为什么不执行函数
2011-07-26 01:35
kelind
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-12-14
收藏
得分:0 
云天雾地,没看懂.请版主指教.
2011-07-26 11:06
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
典型错误
<%
Function TSize(b)
'这是我自定义的函数
TSize="中国"
end function
%>
<a href="javascript:<%TSize('变量')%>" >点这里要使用我定义的函数</a>
(https://bbs.bccn.net/thread-225244-1-1.html)
  错误分析:
  混淆了服务器端脚本和客户端脚本的区别。实际执行时我们会发现,客户端根本没有收到什么TSize之类的代码,因为TSize是服务器端的程序,被引擎处理之后(注意引擎对于函数的处理,纯粹是给服务器端脚本调用的,不会发回到客户端)就消失了,不可能在客户端起作用。这就是说,客户端脚本无法直接调用服务器端脚本的函数。
  事实上,这个程序是有语法错误的,引擎处理这段内容的时候先找到了<%和%>之间的内容,也就是<%TSize('变量')%>,显然这段内容不符合VBScript的语法规则。嗯,改成<%=TSize("变量")%>在服务器端脚本就没有语法错误了,这时TSize函数可以正常返回值"中国",于是客户端收到的href属性是这样写的:"javascript:中国",是无法执行的。
function check()
{
if (document.form1.huohao1.value=="单击选择产品")
{
alert("还没有选择产品!");
return false;
}
if (document.form1.shulian1.value=="")
{
alert("请输入数量!");
return false;
}
if (document.form1.huiyuan3.value=="")
{
alert("会员没选择!")
return false
}
onsell()
}
</script>
<script  language="javascript">
function onsell()
{
<%
fukuan_money=request("fukuan_money")  "付款金额“
nowhuiyuan=request("huiyuan")         ”会员号"
nowshulian=request("shulian")         "数量"
nowprice=request("price")             "单价:
set rs_sell=server.createobject("adodb.recordset")
strsql="select * from huiyuan where card="&huiyuan   "会员表中会员号:card       "错误:'card='操作符丢失
set rs_sell=conn.execute(strsql)
set rs_ks=server.CreateObject("adodb.recordset")
str="select sum(price - fukuan_money) from sell where zu=true and id_huiyuan="&huiyuan   “错误:'id_huiyuan='操作符丢失
set rs_ks=conn.execute(str)

if (nowprice * nowshulian)-fukuan_money>0 then
   if (rs_ks(0)+(nowprice * nowshulian)-fukuan_money)-rs_sell("sfz")>0 then   "sfz:信用额度"
   %>
   {
   alert("信用额度不足")
   return false
   }
   <%
   end if
   end if
   %>
}
</script>
明显没有分清楚js代码与vbs代码是不可以直接调用执行的,不能两类代码混用
2011-07-26 12:51
kelind
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-12-14
收藏
得分:0 
版主讲得很好,本人初学.还是不知道怎么改.版主能否帮改一下.
2011-07-26 14:23
msgj
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:190
专家分:914
注 册:2009-10-3
收藏
得分:10 
strsql="select * from huiyuan where card="&huiyuan 中 huiyuan用变量nowhuiyuan
2011-07-31 15:17
快速回复:不执行的函数,请指教
数据加载中...
 
   



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

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