response.write 写法的asp数组问题?急

zeng_job 2009-07-11 12:12:16
1.A通过ajax返回B查询的一组数,这组数在A页面依次与文本框的输入值进行计算,并显示计算结果;
2.A页面的返回值与文本框输入值,提交依次写入数据库。
3.B页面
set rs=server.createobject("adodb.recordset")
sql="select * FROM product where class_id='"&class_id&"' and provider_id='"&provider_id&"' and online=1"
rs.open sql,conn,1,1
If rs.eof Then
Else
response.write ("<table width=""700"" border=""0"" align=""center"" cellpadding=""0"" cellspacing=""0"" bordercolor=""#CCCCCC"">")
response.write "<tr><td align=""center"" valign=""middle""><table width=""100%"" border=""1"" align=""center"" cellpadding=""0"" cellspacing=""1"" bordercolor=""#CCCCCC"">"
response.write "<tr><td width=""63"" align=""center"">商品编号</td><td width=""140"" align=""center"">商品名称</td><td width=""288"" align=""center"">规 格</td><td width=""60"" align=""center"" nowrap>单 价(¥)</td><td width=""52"" align=""center"">数 量</td><td width=""76"" align=""center"">小计(¥)</td></tr>"
if not rs.eof then
i=1
do while not rs.eof
response.write ("<tr><td width=""63"" align=""center"">"&rs("product_id")&"")
response.write "<input id=""product_id"" value='"&rs("product_id")&"' type=""hidden""/></td>" '商品编号
response.write ("<td width=""140"" align=""center"">"&rs("product_name")&"</td>")
response.write ("<td width=""288"" align=""center"">"&rs("specification")&"</td>")
response.write ("<td width=""60"" align=""center"">"&rs("price")&"")
'response.write "<input name=""price"" value='"&rs("price")&"' type=""hidden""/></td>" '单价
response.write "<input name=""price"" id='""price"&("i")&"' value='"&rs("price")&"' type=""hidden""/></td>"
response.write ("<td align=""center"" valign=""middle"" nowrap>")
response.write ("<input name=""quantity"" id=""quantity"" type=""text"" onKeyUp=""value=value.replace(/[^\d|]/g,'')"" size=""5"" maxlength=""5"" onBlur=""sum(this)""/>")
response.write ("<td width=""76"" align=""center"">")
response.write "<input name=""amount"" id=""amount"&("i")&" readonly=""true""/></td>"
response.write("</tr>")
'******************上面是你要显示的******************'
i=i+1
rs.movenext
loop
end if
end if
rs.close
conn.close
response.write "</table>"
response.write "<tr><td align=""center"" valign=""middle""><table width=""100%"" border=""1"" align=""center"" cellpadding=""0"" cellspacing=""1"" bordercolor=""#CCCCCC"">"
response.write "<tr><td align=""center"">合 计:</td>"
response.write "<td width=""223"" align=""right"">总 量:<input name=""number_sum"" type=""text"" size=""5"" readonly=""ture"" style=""font:bolder;color:#FF0000""/></td>"
response.write "<td width=""158"" align=""center"">总价:<input name=""amount_sum"" type=""text"" size=""8"" readonly=""ture"" style=""font:bolder;color:#FF0000""/>元</td>"
response.write "</tr>"
response.write "<tr><td align=""center"" valign=""middle"">备注:<span style=""color: #FF0000"">*</span></td>"
response.write "<td colspan=""2"" align=""left"" valign=""middle""><textarea name=""remark"" cols=""52"" rows=""3"" onBlur=""sum()""></textarea></td>"
response.write "</tr>"
response.write "</table></td>"
response.write "<tr><td height=""22"" colspan=6>"
response.write "</td></tr>"
response.write "</table>"

红色部分的应该写错了,但不知道怎么写,
...全文
402 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zeng_job 2009-07-11
  • 打赏
  • 举报
回复
补充:图示下面的商品是活动的,在数量栏填写,在小计里自动计算,合计自动计算。这个问题怎么解决?谢谢~B页面是JJAX调用的查询页面。
Dogfish 2009-07-11
  • 打赏
  • 举报
回复
response.write " <input name=""amount"" id=""amount" & i & " readonly=""true""/> </td>" 
toury 2009-07-11
  • 打赏
  • 举报
回复
zeng_job 2009-07-11
  • 打赏
  • 举报
回复
谢谢各位,第一问题解决了,现在要解决的是:在A页面的返回列表文本框输入值,提交依次写入数据库?谢谢~
toury 2009-07-11
  • 打赏
  • 举报
回复
'response.write " <input name=""price"" value='"&rs("price")&"' type=""hidden""/> </td>" '单价
response.write " <input name=""price"" id='price"&i&"' value='"&rs("price")&"' type=""hidden""/> </td>"
response.write (" <td align=""center"" valign=""middle"" nowrap>")
response.write (" <input name=""quantity"" id='quantity"&i&"' type=""text"" onKeyUp=""value=value.replace(/[^\d|]/g,'')"" size=""5"" maxlength=""5"" onBlur=""sum(this)""/>")
response.write (" <td width=""76"" align=""center"">")
response.write " <input name=""amount"" id='amount"&i&"' readonly=""true""/> </td>"

toury 2009-07-11
  • 打赏
  • 举报
回复
for(var m=0;m<i;m++){
----->改为
for(var m=0;m<num;m++){

toury 2009-07-11
  • 打赏
  • 举报
回复
你有多少行?服务器端好像有了,是i行吧

function calc(){
var num=<%=i%>
var oPrice=null;
var oQty=null;
var subtotal=0;
var total=0;

for(var m=0;m<i;m++){
oPrice=document.getElementById("price"+m)
oQty =document.getElementById("quantity"+m)
subtotal=oPrice.value*oQty.value.toString().toFix();'记不清了反正是四舍五入一类的东东,自己找找资料
total+=subtotal;
}
//这个total可能就是你说的“小计”
total=total.tofix()//.......................
//在你的小计那里放个什么标签,然后把这个total装进去
//...............
}

calc();

zeng_job 2009-07-11
  • 打赏
  • 举报
回复
各位高手
response.write " <input name=""price"" d='price"&i&"' value='"&rs("price")&"'/> </td>"
这样写了,A页面的计算小计和合计的JS怎么写啊?
function sum(){
num = parseFloat(document.getElementById("quantity").value);
mount = parseFloat(document.getElementById("price").value);
amount = mount*num;
document.getElementById("amount").value =amount;
}
这样只能计算第一行的,下面的不计算,怎么来循环?望高手指导菜鸟~
Msxindl_Com 2009-07-11
  • 打赏
  • 举报
回复
代码写得太复杂了,看了就头晕.

不要用那么多的response.write来输出HTML代码,这样就会简洁很多,也不容易出错.比如这样写:

<%
'......
if not rs.eof then
i=1
do while not rs.eof
%>
<tr><td width="63" align="center"><%=rs("product_id")%>
<input id="product_id" value="<%=rs("product_id")%>" type="hidden" /></td>
<td width="140" align="center"><%=rs("product_name")%></td>
........
<%
i=i+1
rs.movenext
loop
end if
'....
%>

ASP实现ActiveRecord数据查询更新 引言: 用过 PHP框架 ThinkPHP 或 CI框架的 同学,都知道 这些框架自带的数据查询 Active Record 用于查询数据 和 更新数据 想到方便, 不单它们,很多PHP框架都支持 Active Record,省去了写过多繁琐的原生态SQL查询语句,项目维护更加方便。现在我们也用在 Asp 代码上进行模拟. 已经成功的应用于 “基于AspBox框架的AppCore” 的应用上。 应用核心代码是从AppCore里进行分离。 ================================================================= 【一】: 查询数据 a. 获取结果: 查看输出SQL语句: Dao.getSQL() 用法 别名 Dao.lastSQL() e.g. Response.Write Dao.T("media").Top(10).lastSQL Dao.Query() 用法 dim rs dim tb_prefix : tb_prefix = Dao.tbPrefix '数据表前缀 Set rs = Dao.Query("select top 10 id,name from @media").Result() 等同于: Set rs = Dao.Query("select top 10 id,name from "& tb_prefix &"media").Result() Dao.List() 用法 dim list list = dao.t("media").select("id, name").top(10).List() 注:list '返回一个二维数组 dim i, id, name For i = 0 To Ubound(list,2) id = list(0, i) name = list(1, i) Response.Write id & " : " & name & "" Next Dao.Result() 用法 别名 Dao.GetRs() 或 Dao.Fetch() dim Rs Set Rs = Dao.T("media").select("id, name").top(10).Result() ab.trace Rs Do While not Rs.eof Response.Write Rs("id") & " : " & Rs("name") & "" Rs.MoveNext Loop Dao.Row(n) 用法 (n表示取得第n+1行数据) Dao.Row(0) 表示取第一行数据 dim Rs Set Rs = Dao.Query("select top 10 id,name from @media").Row(4) '获取第5行数据 If Not Rs.Eof Then Response.Write Rs("id") & " : " & Rs("name") End Ifb. 查询条件: Dao.T() 用法 和 Dao.From() 用法 等同 Dao.Select() 用法 和 Dao.Field() 用法 等同 Dao.Where() 用法 与 Dao.Find() 用法: 注: Where用法 和 Find用法 基本差不多,都是条件筛选数据。 Find用法 更灵活, 可以用 Dao.Find("1,3,5") 来查询 自动编号(id) 为 1, 3, 5的数据 Dao.Find("1,3,5") 又可以用以下写法: Dao.Find( Array(1,3,5) ) Dao.Find( "id in (1,3,5)" ) Dao.Where( "id in (1,3,5)" ) Dao.Where( "id=1 or id=3 or id=5" )Dao.Limit() 用法: 模拟 mysql的 limit(offset,rows) 用法 用法: limit(0,0) 取全部数据(第1条(0+1=1)数据开始到结束的数据) limit(0,1) 取从(第1条(0+1=1)数据开始的1条数据,即:第1~1条)(共1条) limit(3,0) 取从(第4条(3+1=4)数据开始到结束的数据,即:第4~最后一条) limit(2,5) 表示 第3条(2+1=3)数据开始的5条数据,即:第3~第7条)(共5条) limit(1,2) 表示 第2条(1+1=2)数据开始的2条数据,即:第2~第3条)(共2条) limit(4,6) 可以这么算:表示 第4+1=5条 到 第4+6=10条)(

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧