javascript 如何传递页面参数

时间:2021-12-29 21:27:56
有一个信息页面,总共有10条信息.点击一个信息后,会打开一个新页面,显示信息的详细内容.信息对应一个数据库.通过数据库的字段ID来确定显示哪一条信息.可能就是所谓的页面参数传递.因为现在用的是JAVASCRIPT,打开新页面处的赋值代码是<%...%>,这个应该是VBSCRIPT的格式.按F12生成页面后,点击不同的信息,出现的详细信息页面内容都是同一条.应该是ID没有传递成功.请问在JAVASCRIPT中,要根据数据库中的ID显示对应的信息,应该如何做?

10 个解决方案

#1


要看代码的.

#2


如果是asp或基于 vb的很方便,直接页面上在你查询出数据集后用loop循环生成你所需的表格或grid之类的绑定信息的东西,如果是象.net之类的分了前台后台的,你可以从后台传递一个参数到前台的一个专门用于接收id的隐藏控件.  然后每次点看详细信息的时候取id就取隐藏控件的值

具体的要看你的代码了 

#3


<%for i = 1 to 10%>
<a href="javascript:void(0)" onclick="window.open('page.asp?id=<%=i%>')"><%=i%></a><br />
<%next%>

#4


无忌的应该没问题 

#5


代码如下:
<td><a href="zhiweixx.asp?id=<%=(zhiwei.Fields.Item("id").Value)%>" target="_blank"><%=(zhiwei.Fields.Item("项目名称").Value)%></a></td>

#6


netwild,你写的这段代码应该加到什么地方?

#7


看了生成的代码,<%=(zhiwei.Fields.Item("id").Value)%>的值是对的,分别是1,2,3,但是打开后提取数据库的信息总是第3条,1,2对应的也是第3条,是什么问题?

#8


整页代码如下:各位高手帮忙看看,急!
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
<!--#include file="Connections/zhaop.asp" -->
<%
var zhiwei = Server.CreateObject("ADODB.Recordset");
zhiwei.ActiveConnection = MM_zhaop_STRING;
zhiwei.Source = "SELECT * FROM zhaopii ORDER BY 发布时间 DESC";
zhiwei.CursorType = 0;
zhiwei.CursorLocation = 2;
zhiwei.LockType = 1;
zhiwei.Open();
var zhiwei_numRows = 0;
%>
<%
var Repeat1__numRows = 10;
var Repeat1__index = 0;
zhiwei_numRows += Repeat1__numRows;
%>
<%
// *** Recordset Stats, Move To Record, and Go To Record: declare stats variables

// set the record count
var zhiwei_total = zhiwei.RecordCount;

// set the number of rows displayed on this page
if (zhiwei_numRows < 0) {            // if repeat region set to all records
  zhiwei_numRows = zhiwei_total;
} else if (zhiwei_numRows == 0) {    // if no repeat regions
  zhiwei_numRows = 1;
}

// set the first and last displayed record
var zhiwei_first = 1;
var zhiwei_last  = zhiwei_first + zhiwei_numRows - 1;

// if we have the correct record count, check the other stats
if (zhiwei_total != -1) {
  zhiwei_numRows = Math.min(zhiwei_numRows, zhiwei_total);
  zhiwei_first   = Math.min(zhiwei_first, zhiwei_total);
  zhiwei_last    = Math.min(zhiwei_last, zhiwei_total);
}
%>
<% var MM_paramName = ""; %>
<%
// *** Move To Record and Go To Record: declare variables

var MM_rs        = zhiwei;
var MM_rsCount   = zhiwei_total;
var MM_size      = zhiwei_numRows;
var MM_uniqueCol = "";
    MM_paramName = "";
var MM_offset = 0;
var MM_atTotal = false;
var MM_paramIsDefined = (MM_paramName != "" && String(Request(MM_paramName)) != "undefined");
%>
<%
// *** Move To Record: handle 'index' or 'offset' parameter

if (!MM_paramIsDefined && MM_rsCount != 0) {

  // use index parameter if defined, otherwise use offset parameter
  r = String(Request("index"));
  if (r == "undefined") r = String(Request("offset"));
  if (r && r != "undefined") MM_offset = parseInt(r);

  // if we have a record count, check if we are past the end of the recordset
  if (MM_rsCount != -1) {
    if (MM_offset >= MM_rsCount || MM_offset == -1) {  // past end or move last
      if ((MM_rsCount % MM_size) != 0) {  // last page not a full repeat region
        MM_offset = MM_rsCount - (MM_rsCount % MM_size);
      } else {
        MM_offset = MM_rsCount - MM_size;
      }
    }
  }

  // move the cursor to the selected record
  for (var i=0; !MM_rs.EOF && (i < MM_offset || MM_offset == -1); i++) {
    MM_rs.MoveNext();
  }
  if (MM_rs.EOF) MM_offset = i;  // set MM_offset to the last possible record
}
%>
<%
// *** Move To Record: if we dont know the record count, check the display range

if (MM_rsCount == -1) {

  // walk to the end of the display range for this page
  for (var i=MM_offset; !MM_rs.EOF && (MM_size < 0 || i < MM_offset + MM_size); i++) {
    MM_rs.MoveNext();
  }

  // if we walked off the end of the recordset, set MM_rsCount and MM_size
  if (MM_rs.EOF) {
    MM_rsCount = i;
    if (MM_size < 0 || MM_size > MM_rsCount) MM_size = MM_rsCount;
  }

  // if we walked off the end, set the offset based on page size
  if (MM_rs.EOF && !MM_paramIsDefined) {
    if ((MM_rsCount % MM_size) != 0) {  // last page not a full repeat region
      MM_offset = MM_rsCount - (MM_rsCount % MM_size);
    } else {
      MM_offset = MM_rsCount - MM_size;
    }
  }

  // reset the cursor to the beginning
  if (MM_rs.CursorType > 0) {
    if (!MM_rs.BOF) MM_rs.MoveFirst();
  } else {
    MM_rs.Requery();
  }

  // move the cursor to the selected record
  for (var i=0; !MM_rs.EOF && i < MM_offset; i++) {
    MM_rs.MoveNext();
  }
}
%>
<%
// *** Move To Record: update recordset stats

// set the first and last displayed record
zhiwei_first = MM_offset + 1;
zhiwei_last  = MM_offset + MM_size;
if (MM_rsCount != -1) {
  zhiwei_first = Math.min(zhiwei_first, MM_rsCount);
  zhiwei_last  = Math.min(zhiwei_last, MM_rsCount);
}

// set the boolean used by hide region to check if we are on the last record
MM_atTotal = (MM_rsCount != -1 && MM_offset + MM_size >= MM_rsCount);
%>
<%
// *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters

// create the list of parameters which should not be maintained
var MM_removeList = "&index=";
if (MM_paramName != "") MM_removeList += "&" + MM_paramName.toLowerCase() + "=";
var MM_keepURL="",MM_keepForm="",MM_keepBoth="",MM_keepNone="";

// add the URL parameters to the MM_keepURL string
for (var items=new Enumerator(Request.QueryString); !items.atEnd(); items.moveNext()) {
  var nextItem = "&" + items.item().toLowerCase() + "=";
  if (MM_removeList.indexOf(nextItem) == -1) {
    MM_keepURL += "&" + items.item() + "=" + Server.URLencode(Request.QueryString(items.item()));
  }
}

// add the Form variables to the MM_keepForm string
for (var items=new Enumerator(Request.Form); !items.atEnd(); items.moveNext()) {
  var nextItem = "&" + items.item().toLowerCase() + "=";
  if (MM_removeList.indexOf(nextItem) == -1) {
    MM_keepForm += "&" + items.item() + "=" + Server.URLencode(Request.Form(items.item()));
  }
}

// create the Form + URL string and remove the intial '&' from each of the strings
MM_keepBoth = MM_keepURL + MM_keepForm;
if (MM_keepBoth.length > 0) MM_keepBoth = MM_keepBoth.substring(1);
if (MM_keepURL.length > 0)  MM_keepURL = MM_keepURL.substring(1);
if (MM_keepForm.length > 0) MM_keepForm = MM_keepForm.substring(1);
%>
<%
// *** Move To Record: set the strings for the first, last, next, and previous links

var MM_moveFirst="",MM_moveLast="",MM_moveNext="",MM_movePrev="";
var MM_keepMove = MM_keepBoth;  // keep both Form and URL parameters for moves
var MM_moveParam = "index";

// if the page has a repeated region, remove 'offset' from the maintained parameters
if (MM_size > 1) {
  MM_moveParam = "offset";
  if (MM_keepMove.length > 0) {
    params = MM_keepMove.split("&");
    MM_keepMove = "";
    for (var i=0; i < params.length; i++) {
      var nextItem = params[i].substring(0,params[i].indexOf("="));
      if (nextItem.toLowerCase() != MM_moveParam) {
        MM_keepMove += "&" + params[i];
      }
    }
    if (MM_keepMove.length > 0) MM_keepMove = MM_keepMove.substring(1);
  }
}

// set the strings for the move to links
if (MM_keepMove.length > 0) MM_keepMove = Server.HTMLEncode(MM_keepMove) + "&";
var urlStr = Request.ServerVariables("URL") + "?" + MM_keepMove + MM_moveParam + "=";
MM_moveFirst = urlStr + "0";
MM_moveLast  = urlStr + "-1";
MM_moveNext  = urlStr + (MM_offset + MM_size);
MM_movePrev  = urlStr + Math.max(MM_offset - MM_size,0);
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<table width="800" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="220" height="100">&nbsp;</td>
    <td align="right" valign="middle">&nbsp;</td>
  </tr>
</table>
<table width="800" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="20">兼职在线&gt;&gt;职位信息</td>
  </tr>
</table>
<table width="800" border="0">
  <tr>
    <td>&nbsp;</td>
    <td width="500"><table width="500" border="0">
      <tr>
        <td>编号</td>
        <td>项目名称</td>
        <td>发布时间</td>
      </tr>
      <% while ((Repeat1__numRows-- != 0) && (!zhiwei.EOF)) { %>
        <tr>
          <td><%=(zhiwei.Fields.Item("id").Value)%></td>
          <td><a href="zhiweixx.asp?id=<%=(zhiwei.Fields.Item("id").Value)%>" target="_blank"><%=(zhiwei.Fields.Item("项目名称").Value)%></a></td>
          <td><%=(zhiwei.Fields.Item("发布时间").Value)%></td>
        </tr>
        <%
  Repeat1__index++;
  zhiwei.MoveNext();
}
%>

    

#9


自己顶

#10


你用的什么控件显示这10条记录

而你时如何显示的,绑定时就可以写好href

#1


要看代码的.

#2


如果是asp或基于 vb的很方便,直接页面上在你查询出数据集后用loop循环生成你所需的表格或grid之类的绑定信息的东西,如果是象.net之类的分了前台后台的,你可以从后台传递一个参数到前台的一个专门用于接收id的隐藏控件.  然后每次点看详细信息的时候取id就取隐藏控件的值

具体的要看你的代码了 

#3


<%for i = 1 to 10%>
<a href="javascript:void(0)" onclick="window.open('page.asp?id=<%=i%>')"><%=i%></a><br />
<%next%>

#4


无忌的应该没问题 

#5


代码如下:
<td><a href="zhiweixx.asp?id=<%=(zhiwei.Fields.Item("id").Value)%>" target="_blank"><%=(zhiwei.Fields.Item("项目名称").Value)%></a></td>

#6


netwild,你写的这段代码应该加到什么地方?

#7


看了生成的代码,<%=(zhiwei.Fields.Item("id").Value)%>的值是对的,分别是1,2,3,但是打开后提取数据库的信息总是第3条,1,2对应的也是第3条,是什么问题?

#8


整页代码如下:各位高手帮忙看看,急!
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
<!--#include file="Connections/zhaop.asp" -->
<%
var zhiwei = Server.CreateObject("ADODB.Recordset");
zhiwei.ActiveConnection = MM_zhaop_STRING;
zhiwei.Source = "SELECT * FROM zhaopii ORDER BY 发布时间 DESC";
zhiwei.CursorType = 0;
zhiwei.CursorLocation = 2;
zhiwei.LockType = 1;
zhiwei.Open();
var zhiwei_numRows = 0;
%>
<%
var Repeat1__numRows = 10;
var Repeat1__index = 0;
zhiwei_numRows += Repeat1__numRows;
%>
<%
// *** Recordset Stats, Move To Record, and Go To Record: declare stats variables

// set the record count
var zhiwei_total = zhiwei.RecordCount;

// set the number of rows displayed on this page
if (zhiwei_numRows < 0) {            // if repeat region set to all records
  zhiwei_numRows = zhiwei_total;
} else if (zhiwei_numRows == 0) {    // if no repeat regions
  zhiwei_numRows = 1;
}

// set the first and last displayed record
var zhiwei_first = 1;
var zhiwei_last  = zhiwei_first + zhiwei_numRows - 1;

// if we have the correct record count, check the other stats
if (zhiwei_total != -1) {
  zhiwei_numRows = Math.min(zhiwei_numRows, zhiwei_total);
  zhiwei_first   = Math.min(zhiwei_first, zhiwei_total);
  zhiwei_last    = Math.min(zhiwei_last, zhiwei_total);
}
%>
<% var MM_paramName = ""; %>
<%
// *** Move To Record and Go To Record: declare variables

var MM_rs        = zhiwei;
var MM_rsCount   = zhiwei_total;
var MM_size      = zhiwei_numRows;
var MM_uniqueCol = "";
    MM_paramName = "";
var MM_offset = 0;
var MM_atTotal = false;
var MM_paramIsDefined = (MM_paramName != "" && String(Request(MM_paramName)) != "undefined");
%>
<%
// *** Move To Record: handle 'index' or 'offset' parameter

if (!MM_paramIsDefined && MM_rsCount != 0) {

  // use index parameter if defined, otherwise use offset parameter
  r = String(Request("index"));
  if (r == "undefined") r = String(Request("offset"));
  if (r && r != "undefined") MM_offset = parseInt(r);

  // if we have a record count, check if we are past the end of the recordset
  if (MM_rsCount != -1) {
    if (MM_offset >= MM_rsCount || MM_offset == -1) {  // past end or move last
      if ((MM_rsCount % MM_size) != 0) {  // last page not a full repeat region
        MM_offset = MM_rsCount - (MM_rsCount % MM_size);
      } else {
        MM_offset = MM_rsCount - MM_size;
      }
    }
  }

  // move the cursor to the selected record
  for (var i=0; !MM_rs.EOF && (i < MM_offset || MM_offset == -1); i++) {
    MM_rs.MoveNext();
  }
  if (MM_rs.EOF) MM_offset = i;  // set MM_offset to the last possible record
}
%>
<%
// *** Move To Record: if we dont know the record count, check the display range

if (MM_rsCount == -1) {

  // walk to the end of the display range for this page
  for (var i=MM_offset; !MM_rs.EOF && (MM_size < 0 || i < MM_offset + MM_size); i++) {
    MM_rs.MoveNext();
  }

  // if we walked off the end of the recordset, set MM_rsCount and MM_size
  if (MM_rs.EOF) {
    MM_rsCount = i;
    if (MM_size < 0 || MM_size > MM_rsCount) MM_size = MM_rsCount;
  }

  // if we walked off the end, set the offset based on page size
  if (MM_rs.EOF && !MM_paramIsDefined) {
    if ((MM_rsCount % MM_size) != 0) {  // last page not a full repeat region
      MM_offset = MM_rsCount - (MM_rsCount % MM_size);
    } else {
      MM_offset = MM_rsCount - MM_size;
    }
  }

  // reset the cursor to the beginning
  if (MM_rs.CursorType > 0) {
    if (!MM_rs.BOF) MM_rs.MoveFirst();
  } else {
    MM_rs.Requery();
  }

  // move the cursor to the selected record
  for (var i=0; !MM_rs.EOF && i < MM_offset; i++) {
    MM_rs.MoveNext();
  }
}
%>
<%
// *** Move To Record: update recordset stats

// set the first and last displayed record
zhiwei_first = MM_offset + 1;
zhiwei_last  = MM_offset + MM_size;
if (MM_rsCount != -1) {
  zhiwei_first = Math.min(zhiwei_first, MM_rsCount);
  zhiwei_last  = Math.min(zhiwei_last, MM_rsCount);
}

// set the boolean used by hide region to check if we are on the last record
MM_atTotal = (MM_rsCount != -1 && MM_offset + MM_size >= MM_rsCount);
%>
<%
// *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters

// create the list of parameters which should not be maintained
var MM_removeList = "&index=";
if (MM_paramName != "") MM_removeList += "&" + MM_paramName.toLowerCase() + "=";
var MM_keepURL="",MM_keepForm="",MM_keepBoth="",MM_keepNone="";

// add the URL parameters to the MM_keepURL string
for (var items=new Enumerator(Request.QueryString); !items.atEnd(); items.moveNext()) {
  var nextItem = "&" + items.item().toLowerCase() + "=";
  if (MM_removeList.indexOf(nextItem) == -1) {
    MM_keepURL += "&" + items.item() + "=" + Server.URLencode(Request.QueryString(items.item()));
  }
}

// add the Form variables to the MM_keepForm string
for (var items=new Enumerator(Request.Form); !items.atEnd(); items.moveNext()) {
  var nextItem = "&" + items.item().toLowerCase() + "=";
  if (MM_removeList.indexOf(nextItem) == -1) {
    MM_keepForm += "&" + items.item() + "=" + Server.URLencode(Request.Form(items.item()));
  }
}

// create the Form + URL string and remove the intial '&' from each of the strings
MM_keepBoth = MM_keepURL + MM_keepForm;
if (MM_keepBoth.length > 0) MM_keepBoth = MM_keepBoth.substring(1);
if (MM_keepURL.length > 0)  MM_keepURL = MM_keepURL.substring(1);
if (MM_keepForm.length > 0) MM_keepForm = MM_keepForm.substring(1);
%>
<%
// *** Move To Record: set the strings for the first, last, next, and previous links

var MM_moveFirst="",MM_moveLast="",MM_moveNext="",MM_movePrev="";
var MM_keepMove = MM_keepBoth;  // keep both Form and URL parameters for moves
var MM_moveParam = "index";

// if the page has a repeated region, remove 'offset' from the maintained parameters
if (MM_size > 1) {
  MM_moveParam = "offset";
  if (MM_keepMove.length > 0) {
    params = MM_keepMove.split("&");
    MM_keepMove = "";
    for (var i=0; i < params.length; i++) {
      var nextItem = params[i].substring(0,params[i].indexOf("="));
      if (nextItem.toLowerCase() != MM_moveParam) {
        MM_keepMove += "&" + params[i];
      }
    }
    if (MM_keepMove.length > 0) MM_keepMove = MM_keepMove.substring(1);
  }
}

// set the strings for the move to links
if (MM_keepMove.length > 0) MM_keepMove = Server.HTMLEncode(MM_keepMove) + "&";
var urlStr = Request.ServerVariables("URL") + "?" + MM_keepMove + MM_moveParam + "=";
MM_moveFirst = urlStr + "0";
MM_moveLast  = urlStr + "-1";
MM_moveNext  = urlStr + (MM_offset + MM_size);
MM_movePrev  = urlStr + Math.max(MM_offset - MM_size,0);
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<table width="800" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="220" height="100">&nbsp;</td>
    <td align="right" valign="middle">&nbsp;</td>
  </tr>
</table>
<table width="800" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="20">兼职在线&gt;&gt;职位信息</td>
  </tr>
</table>
<table width="800" border="0">
  <tr>
    <td>&nbsp;</td>
    <td width="500"><table width="500" border="0">
      <tr>
        <td>编号</td>
        <td>项目名称</td>
        <td>发布时间</td>
      </tr>
      <% while ((Repeat1__numRows-- != 0) && (!zhiwei.EOF)) { %>
        <tr>
          <td><%=(zhiwei.Fields.Item("id").Value)%></td>
          <td><a href="zhiweixx.asp?id=<%=(zhiwei.Fields.Item("id").Value)%>" target="_blank"><%=(zhiwei.Fields.Item("项目名称").Value)%></a></td>
          <td><%=(zhiwei.Fields.Item("发布时间").Value)%></td>
        </tr>
        <%
  Repeat1__index++;
  zhiwei.MoveNext();
}
%>

    

#9


自己顶

#10


你用的什么控件显示这10条记录

而你时如何显示的,绑定时就可以写好href