工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 3943|回复: 32

有没有会JAVASCRIPT的人在线?

[复制链接]
发表于 2006-4-26 02:51 | 显示全部楼层 |阅读模式
在<input type="hidden" name="MM_recordId" value="<%=(Recordset1.Fields.Item("ID1").Value)%>">中,要想value的值+1应如何编码?

[ 本帖最后由 捕蛇者说 于 2006-4-26 03:48 编辑 ]
发表于 2006-4-26 02:53 | 显示全部楼层
不会的在线
回复

使用道具 举报

 楼主| 发表于 2006-4-26 02:53 | 显示全部楼层
楼上的会不会,急救的说
回复

使用道具 举报

发表于 2006-4-26 02:57 | 显示全部楼层
不懂这种脚本语言,偶不是计算机专业的,爱莫能助
回复

使用道具 举报

发表于 2006-4-26 09:32 | 显示全部楼层
没头没尾的感觉?
value+1其实又是什么?
不是读取记录集的数据吗?
我只知道大概Recordset1.MoveNext之类的可以继续读取下一行记录...
回复

使用道具 举报

 楼主| 发表于 2006-4-26 12:47 | 显示全部楼层
回楼上的,的确是要读取记录集里的数据,但我要那数值+1后写回记录集,如何办
回复

使用道具 举报

发表于 2006-4-26 13:08 | 显示全部楼层
<input type="hidden" name="MM_recordId" value="<%=(Recordset1("ID1")+1)%>">

这样应该是OK的.

还有,楼主应该是用了Dreamweaver UltraDev之类的工具,建议别用,这些工具生成的asp代码不够简洁.
回复

使用道具 举报

发表于 2006-4-26 13:10 | 显示全部楼层
asp么...
回复

使用道具 举报

发表于 2006-4-26 13:10 | 显示全部楼层
请问楼上的是用什么编译器的,要是自己打的话很痛苦的说
回复

使用道具 举报

发表于 2006-4-26 13:15 | 显示全部楼层
原帖由 david当当 于 2006/4/26 05:10 发表
请问楼上的是用什么编译器的,要是自己打的话很痛苦的说


其实还是得自己打...我个人是用Dreaweaver生成HTML,然后在那些HTML基础上自己写ASP...大多做ASP开发的人都是这样...UltraDev之类的工具确实可以提高效率,但同时生成的代码可读性,可维护性相对很低,所以做开发的人一般不用.
回复

使用道具 举报

发表于 2006-4-26 13:30 | 显示全部楼层
还是不行,发整个表单的了

<form ACTION="<%=MM_editAction%>" METHOD="POST" name="add2">
<input name="hfVote" type="hidden" value="<%= Request.ServerVariables("Remote_ADDR") %>">
<input name="no+1" type="hidden" value="<%=(Recordset1("ID1")+1)%>">
<input name="MM_update"  type="hidden"  value="add2">
<input  name="MM_recordId" type="hidden" value="<%= Recordset1.Fields.Item("ID1").Value %>">
</form>


错误类型:
ADODB.Field (0x800A0BCD)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
/fxxxyou/add2.asp, 第 120 行


120行是<input name="MM_update"  type="hidden"  value="add2">

[ 本帖最后由 david当当 于 2006-4-26 13:32 编辑 ]
回复

使用道具 举报

发表于 2006-4-26 14:07 | 显示全部楼层
name="no+1"

....晕...

要么就这样:Recordset1.Fields("ID1")+1...

我以前看人家用过UltraDev,,,它里面获取记录集的方式就是楼主那样...但一般做ASP Coder们都是用类似Rs("ID")这样获取的...我自己也是这样,,,而且如果要+1的话直接加是没问题的...我试过...

如果楼主再不成功就把整篇代码贴出来咯.
回复

使用道具 举报

发表于 2006-4-26 14:24 | 显示全部楼层
华山论剑
偶匿了
回复

使用道具 举报

发表于 2006-4-26 15:13 | 显示全部楼层
很吃亏,我的电脑一做这种鸟事就五分钟重启一次
回复

使用道具 举报

发表于 2006-4-26 15:18 | 显示全部楼层
如果记录集要筛选数据库,筛选KEY是IP能不能做到

具体怎样编码


我本来采用的是用隐藏域,但不能用
回复

使用道具 举报

发表于 2006-4-26 15:19 | 显示全部楼层
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
<!--#include file="../Connections/cojgxyfuckyou.asp" -->
<%
// *** Edit Operations: declare variables

// set the form action variable
var MM_editAction = Request.ServerVariables("SCRIPT_NAME");
if (Request.QueryString) {
  MM_editAction += "?" + Server.HTMLEncode(Request.QueryString);
}

// boolean to abort record edit
var MM_abortEdit = false;

// query string to execute
var MM_editQuery = "";
%>
<%
// *** Update Record: set variables

if (String(Request("MM_update")) == "add2" &&
    String(Request("MM_recordId")) != "undefined") {

  var MM_editConnection = MM_cojgxyfuckyou_STRING;
  var MM_editTable  = "fuckyou";
  var MM_editColumn = "IP";
  var MM_recordId = "'" + Request.Form("MM_recordId") + "'";
  var MM_editRedirectUrl = "thanks.html";
  var MM_fieldsStr = "no+1|value";
  var MM_columnsStr = "number|none,none,NULL";

  // create the MM_fields and MM_columns arrays
  var MM_fields = MM_fieldsStr.split("|");
  var MM_columns = MM_columnsStr.split("|");
  
  // set the form values
  for (var i=0; i+1 < MM_fields.length; i+=2) {
    MM_fields[i+1] = String(Request.Form(MM_fields));
  }

  // append the query string to the redirect URL
  if (MM_editRedirectUrl && Request.QueryString && Request.QueryString.Count > 0) {
    MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1)?"?":"&") + Request.QueryString;
  }
}
%>
<%
// *** Update Record: construct a sql update statement and execute it

if (String(Request("MM_update")) != "undefined" &&
    String(Request("MM_recordId")) != "undefined") {

  // create the sql update statement
  MM_editQuery = "update " + MM_editTable + " set ";
  for (var i=0; i+1 < MM_fields.length; i+=2) {
    var formVal = MM_fields[i+1];
    var MM_typesArray = MM_columns[i+1].split(",");
    var delim =    (MM_typesArray[0] != "none") ? MM_typesArray[0] : "";
    var altVal =   (MM_typesArray[1] != "none") ? MM_typesArray[1] : "";
    var emptyVal = (MM_typesArray[2] != "none") ? MM_typesArray[2] : "";
    if (formVal == "" || formVal == "undefined") {
      formVal = emptyVal;
    } else {
      if (altVal != "") {
        formVal = altVal;
      } else if (delim == "'") { // escape quotes
        formVal = "'" + formVal.replace(/'/g,"''") + "'";
      } else {
        formVal = delim + formVal + delim;
      }
    }
    MM_editQuery += ((i != 0) ? "," : "") + MM_columns + " = " + formVal;
  }
  MM_editQuery += " where " + MM_editColumn + " = " + MM_recordId;

  if (!MM_abortEdit) {
    // execute the update
    var MM_editCmd = Server.CreateObject('ADODB.Command');
    MM_editCmd.ActiveConnection = MM_editConnection;
    MM_editCmd.CommandText = MM_editQuery;
    MM_editCmd.Execute();
    MM_editCmd.ActiveConnection.Close();

    if (MM_editRedirectUrl) {
      Response.Redirect(MM_editRedirectUrl);
    }
  }

}
%>
<%
var Recordset1__MMColParam = "1";
if (String(Request.Form("hfVoteIP")) != "undefined" &&
    String(Request.Form("hfVoteIP")) != "") {
  Recordset1__MMColParam = String(Request.Form("hfVoteIP"));
}
%>
<%
var Recordset1 = Server.CreateObject("ADODB.Recordset");
Recordset1.ActiveConnection = MM_cojgxyfuckyou_STRING;
Recordset1.Source = "SELECT * FROM fuckyou WHERE IP = '"+ Recordset1__MMColParam.replace(/'/g, "''") + "'";
Recordset1.CursorType = 0;
Recordset1.CursorLocation = 2;
Recordset1.LockType = 1;
Recordset1.Open();
var Recordset1_numRows = 0;
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>ADD2</title>
</head>

<body>
<form ACTION="<%=MM_editAction%>" METHOD="POST" name="add2">
<input name="hfVoteIP" type="hidden" value="<%= Request.ServerVariables("Remote_ADDR") %>">
<input name="no+1" type="hidden" value="<%=(Recordset1("number")+1)%>">
<input name="MM_update"  type="hidden"  value="add2">
<input type="hidden" name="MM_recordId" value="<%= Recordset1.Fields.Item("IP").Value %>">
</form>
</body>
</html>
<%
Recordset1.Close();
%>
回复

使用道具 举报

发表于 2006-4-26 15:34 | 显示全部楼层
这篇代码的目的是筛选数据库里的IP,并给IP所在的记录的NUMBER项里的值+1,然后跳转,在进入这篇代码之前IP已经作为MM_Username记录在Session里了
回复

使用道具 举报

发表于 2006-4-26 19:13 | 显示全部楼层
投票系统...

我觉得可以移去编程版啦...好象水区没人理你...——_——...
回复

使用道具 举报

发表于 2006-4-26 20:02 | 显示全部楼层
水区不是人气高么?
回复

使用道具 举报

发表于 2006-4-27 00:31 | 显示全部楼层
楼主的源码比较难阅读.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2025-8-30 23:42

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表