这样不对吗?为什么跟踪到的值是undefined?????<html> <head> <meta http-equiv="Content-Type" content="text/html; chaoradynasetet=gb2312"> <link rel="stylesheet" href="/style.css" type="text/css"> <title>物资明细</title> <script> function aa(){ alert(td5.innerHTML); document.form1.text1.value = td5.innerHTML; } </script></head> <body leftmargin="1" topmargin="0" marginwidth="0" marginheight="0"> <form name=form action="wz.asp" method=post> <table width="778" border="0" cellpadding="0" cellspacing="0" bordercolor="#ff0000"> <TBODY> <tr align="middle" bgcolor="#e7ecf1"> <td width="115" height="30" valign="center"></td> <td width="470" height="30">物资查询: <select name="select1"> <option value="" selected>全部内容</option> <option value="wzbm" >物资编码</option> <option value="wzmc">物资名称</option> <option value="xjbm">询价编码</option> </select> <input name="key" value="输入关键字" maxlength="20" onClick="Javascript:this.value=''" onFocus=this.select() onMouseOver=this.focus()> <input type="submit" name="Submit" value="OK"> </td> </tr></TBODY> </table> <% key=trim(Request("key")) select1=request("select1") '连接数据库 set orasession=createobject("OracleInprocServer.XOraSession") set oradatabase=orasession.dbopendatabase("orcl","system/manager",0) '设置查询条件 if select1="wzbm" then sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm and wzbm = '%"&key&"%'" elseif select1="wzmc" then sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm and wzmc = '%"&key&"%'" elseif select1="xjbm" then sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm and xjbm = '%"&key&"%'" else sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm " end if set oradynaset=oradatabase.dbcreatedynaset(sql,0) '设置页长 pagesize=15 if oradynaset.recordcount=0 then response.write "无符合条件的数据" else response.write"<h3>查询结果</h3>" '计算页数 pages=int(oradynaset.recordcount/pagesize) if pages*pagesize=oradynaset.recordcount then pages=int(oradynaset.recordcount/pagesize) else pages=int(oradynaset.recordcount/pagesize)+1 end if if request("page")="" then page=1 else page=cstr(request("page")) end if %> <%response.write"共"&pages&"页,目前第"&page&"页" response.write"<table border=5><tr>" response.write"<td>" response.write "物资编码" response.write"</td>" response.write"<td>" response.write "物资名称" response.write"</td>" response.write"<td>" response.write "规格型号" response.write"</td>" response.write"<td>" response.write "材质" response.write"</td>" response.write"<td>" response.write "标准" response.write"</td>" response.write"<td>" response.write "数量" response.write"</td>" response.write"<td>" response.write "交货时间" response.write"</td>" response.write"<td>" response.write "交货地点" response.write"</td>" response.write "</tr>" startrow=(page-1)*pagesize+1 endrow=page*pagesize oradynaset.moveto startrow for j=startrow to endrow response.write"<tr>" response.write"<td onMouseDown=aa() id=td5>" response.write (oradynaset.fields("wzbm") ) response.write"</td>" response.write"<td>" response.write (oradynaset.fields("wzmc")) response.write"</td>" if oradynaset.fields("ggxh")="" then response.write"<td>" response.write "" response.write"</td>" else response.write"<td>" response.write (oradynaset.fields("ggxh")) response.write"</td>" end if if oradynaset.fields("cz")="" then response.write"<td>" response.write "" response.write"</td>" else response.write"<td>" response.write (oradynaset.fields("cz")) response.write"</td>" end if response.write"<td>" response.write " " response.write"</td>" response.write"<td>" response.write (oradynaset.fields("sl")) response.write"</td>" response.write"<td>" response.write (oradynaset.fields("jhrq")) response.write"</td>" response.write"<td>" response.write (oradynaset.fields("shdw")) response.write"</td>" response.write"</tr>" oradynaset.movenext if oradynaset.eof then exit for next response.write"</table>" end if if page>1 then Response.write"<a href=wz.asp?key="&key&"&page=1>第一页</a>" response.write "<a href=wz.asp?key="&key&"&page="&page-1&">上一页</a>" end if if cint(page)<pages then response.write "<a href=wz.asp?key="&key&"&page="&page+1&">下一页</a>" response.write "<a href=wz.asp?key="&key&"&page="&pages&">最后页</a>" end if set orasession=nothing %> </form> </BODY> </HTML>
原因出在这里: for j=startrow to endrow response.write"<tr>" response.write"<td onMouseDown=aa() id=td5>" 因为你是个循环语句,这样,在你的文档中会有不止一个的td5,它就当你没定义了,就会出 undefined这样改: i = 0 for j=** to ** response.write"<tr>" response.write"<td onMouseDown=aa() id=td5"&i&">" .... i = i+1 next 然后你在AA那个函数数也要相应的处理,注意每次处理时是处理哪个td5&i
在JS中当然不能那么写了,要麻烦些. <script> function aa(){ var i= 1 eval("document.form1.text1.value = td5"+i"+".innerHTML"); }<script>
缺少对象是你引用的ID号和定义的ID号名称不相同,你多看看你代码,肯定有地方弄错了.还用上面我的代码做测试 function aa(){ var i = 5 alert(eval("td"+i+".innerHTML")); eval("document.form1.text1.value = td"+i+".innerHTML"); } 用上面的方法就可以把td和5分开来,测试通过.5代码一个I的变量,你看看在你的代码中应该怎么用就行了.
一行也一样的,写个循环就行了.如有三个TD,ID号分别为:td1,td2,td3,然后分别对应三个文本框,text1,text2,text3 <tr><td id=td1>aa</td><td id=td2>bb</td><td id=td3>cc</td><script> function aa(){
还是麻烦帮我看一下,我总调试不成功,显示未定义,怎么让所有的TD都能动态传递?? <script> function aa(){ var i for(i=0;i<3;i++) alert(eval("td"+i+".innerHTML")); } </script><% key=trim(Request("key")) select1=request("select1") '连接数据库 set orasession=createobject("OracleInprocServer.XOraSession") set oradatabase=orasession.dbopendatabase("orcl","system/manager",0) '设置查询条件 if select1="wzbm" then sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm and wzbm = '%"&key&"%'" elseif select1="wzmc" then sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm and wzmc = '%"&key&"%'" elseif select1="xjbm" then sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm and xjbm = '%"&key&"%'" else sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm " end if set oradynaset=oradatabase.dbcreatedynaset(sql,0) '设置页长 pagesize=15 if oradynaset.recordcount=0 then response.write "无符合条件的数据" else response.write"<h3>查询结果</h3>" '计算页数 pages=int(oradynaset.recordcount/pagesize) if pages*pagesize=oradynaset.recordcount then pages=int(oradynaset.recordcount/pagesize) else pages=int(oradynaset.recordcount/pagesize)+1 end if if request("page")="" then page=1 else page=cstr(request("page")) end if %> <%response.write"共"&pages&"页,目前第"&page&"页" response.write"<table border=5><tr>" response.write"<td>" response.write "物资编码" response.write"</td>" response.write"<td>" response.write "物资名称" response.write"</td>" response.write"<td>" response.write "规格型号" response.write"</td>" response.write"<td>" response.write "材质" response.write"</td>" response.write"<td>" response.write "标准" response.write"</td>" response.write"<td>" response.write "数量" response.write"</td>" response.write"<td>" response.write "交货时间" response.write"</td>" response.write"<td>" response.write "交货地点" response.write"</td>" response.write "</tr>" startrow=(page-1)*pagesize+1 endrow=page*pagesize oradynaset.moveto startrow i=0 for j=startrow to endrow response.write"<tr>" response.write"<td ondblclick=aa() id=td0>" response.write (oradynaset.fields("wzbm") ) response.write"</td>" response.write"<td id=td1>" response.write (oradynaset.fields("wzmc")) response.write"</td>" if oradynaset.fields("ggxh")="" then response.write"<td>" response.write "" response.write"</td>" else response.write"<td id=td2>" response.write (oradynaset.fields("ggxh")) response.write"</td>" end if if oradynaset.fields("cz")="" then response.write"<td>" response.write "" response.write"</td>" else response.write"<td>" response.write (oradynaset.fields("cz")) response.write"</td>" end if response.write"<td>" response.write " " response.write"</td>" response.write"<td>" response.write (oradynaset.fields("sl")) response.write"</td>" response.write"<td>" response.write (oradynaset.fields("jhrq")) response.write"</td>" response.write"<td>" response.write (oradynaset.fields("shdw")) response.write"</td>" response.write"</tr>" oradynaset.movenext if oradynaset.eof then exit for i=i+1 next response.write"</table>" end if if page>1 then Response.write"<a href=wz.asp?key="&key&"&page=1>第一页</a>" response.write "<a href=wz.asp?key="&key&"&page="&page-1&">上一页</a>" end if if cint(page)<pages then response.write "<a href=wz.asp?key="&key&"&page="&page+1&">下一页</a>" response.write "<a href=wz.asp?key="&key&"&page="&pages&">最后页</a>" end if set orasession=nothing %>
同时用window.returnValue来反回值
<script>
function aa(){
alert(td5.innerHTML);
document.form1.text1.value = td5.innerHTML;
}
</script><table border="1" cellspacing="0" cellpadding="0" width="512">
<tr>
<td><div id="td5" onMouseDown="aa()">abcdefg</div></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<form name="form1" method="post" action="">
<input type="text" name="text1">
</form>上面的代码在我本机上测试通过.因为你是要两个页面,两个页面之间要相互访问,或是框架,或是父子窗口,你跟踪窗口过去就行了.然后再在AA函数里加个window.close()就可以了.
框架之间窗口的访问:parent.框架名.document.all.text1.value = ****
父窗口访问:window.opener.document.all.text1.value =***
<tr><td><div id=data1 onclick=input()>数据一</div></td></tr>
<tr><td><div id=data2 onclick=input()> 数据二</div></td></tr>
</table><script>
function input()
{
text=this.outerHTML
window.opener.document.all.text.value=text
window.close()
}
</script>
<head>
<meta http-equiv="Content-Type" content="text/html; chaoradynasetet=gb2312">
<link rel="stylesheet" href="/style.css" type="text/css">
<title>物资明细</title>
<script>
function aa(){
alert(td5.innerHTML);
document.form1.text1.value = td5.innerHTML;
}
</script></head>
<body leftmargin="1" topmargin="0" marginwidth="0" marginheight="0">
<form name=form action="wz.asp" method=post>
<table width="778" border="0" cellpadding="0" cellspacing="0" bordercolor="#ff0000">
<TBODY>
<tr align="middle" bgcolor="#e7ecf1">
<td width="115" height="30" valign="center"></td>
<td width="470" height="30">物资查询:
<select name="select1">
<option value="" selected>全部内容</option>
<option value="wzbm" >物资编码</option>
<option value="wzmc">物资名称</option>
<option value="xjbm">询价编码</option>
</select> <input name="key" value="输入关键字" maxlength="20" onClick="Javascript:this.value=''" onFocus=this.select()
onMouseOver=this.focus()>
<input type="submit" name="Submit" value="OK"> </td>
</tr></TBODY>
</table>
<%
key=trim(Request("key"))
select1=request("select1")
'连接数据库
set orasession=createobject("OracleInprocServer.XOraSession")
set oradatabase=orasession.dbopendatabase("orcl","system/manager",0)
'设置查询条件
if select1="wzbm" then
sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm and wzbm = '%"&key&"%'"
elseif select1="wzmc" then
sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm and wzmc = '%"&key&"%'"
elseif select1="xjbm" then
sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm and xjbm = '%"&key&"%'"
else
sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm "
end if
set oradynaset=oradatabase.dbcreatedynaset(sql,0)
'设置页长
pagesize=15
if oradynaset.recordcount=0 then
response.write "无符合条件的数据"
else
response.write"<h3>查询结果</h3>"
'计算页数
pages=int(oradynaset.recordcount/pagesize)
if pages*pagesize=oradynaset.recordcount then
pages=int(oradynaset.recordcount/pagesize)
else
pages=int(oradynaset.recordcount/pagesize)+1
end if
if request("page")="" then
page=1
else
page=cstr(request("page"))
end if %>
<%response.write"共"&pages&"页,目前第"&page&"页"
response.write"<table border=5><tr>"
response.write"<td>"
response.write "物资编码"
response.write"</td>"
response.write"<td>"
response.write "物资名称"
response.write"</td>"
response.write"<td>"
response.write "规格型号"
response.write"</td>"
response.write"<td>"
response.write "材质"
response.write"</td>"
response.write"<td>"
response.write "标准"
response.write"</td>"
response.write"<td>"
response.write "数量"
response.write"</td>"
response.write"<td>"
response.write "交货时间"
response.write"</td>"
response.write"<td>"
response.write "交货地点"
response.write"</td>"
response.write "</tr>"
startrow=(page-1)*pagesize+1
endrow=page*pagesize
oradynaset.moveto startrow
for j=startrow to endrow
response.write"<tr>"
response.write"<td onMouseDown=aa() id=td5>"
response.write (oradynaset.fields("wzbm") )
response.write"</td>"
response.write"<td>"
response.write (oradynaset.fields("wzmc"))
response.write"</td>"
if oradynaset.fields("ggxh")="" then
response.write"<td>"
response.write ""
response.write"</td>"
else
response.write"<td>"
response.write (oradynaset.fields("ggxh"))
response.write"</td>"
end if
if oradynaset.fields("cz")="" then
response.write"<td>"
response.write ""
response.write"</td>"
else
response.write"<td>"
response.write (oradynaset.fields("cz"))
response.write"</td>"
end if
response.write"<td>"
response.write " "
response.write"</td>"
response.write"<td>"
response.write (oradynaset.fields("sl"))
response.write"</td>"
response.write"<td>"
response.write (oradynaset.fields("jhrq"))
response.write"</td>"
response.write"<td>"
response.write (oradynaset.fields("shdw"))
response.write"</td>"
response.write"</tr>"
oradynaset.movenext
if oradynaset.eof then exit for
next
response.write"</table>"
end if
if page>1 then
Response.write"<a href=wz.asp?key="&key&"&page=1>第一页</a>"
response.write "<a href=wz.asp?key="&key&"&page="&page-1&">上一页</a>"
end if
if cint(page)<pages then
response.write "<a href=wz.asp?key="&key&"&page="&page+1&">下一页</a>"
response.write "<a href=wz.asp?key="&key&"&page="&pages&">最后页</a>"
end if
set orasession=nothing
%>
</form>
</BODY>
</HTML>
for j=startrow to endrow
response.write"<tr>"
response.write"<td onMouseDown=aa() id=td5>"
因为你是个循环语句,这样,在你的文档中会有不止一个的td5,它就当你没定义了,就会出 undefined这样改:
i = 0
for j=** to **
response.write"<tr>"
response.write"<td onMouseDown=aa() id=td5"&i&">"
....
i = i+1
next
然后你在AA那个函数数也要相应的处理,注意每次处理时是处理哪个td5&i
不然,你还可以在每个TD里面定义一个文本框,直接读文本框的内容那就更容易了.这个要看你的页面用哪个好些
<script>
function aa(){
var i= 1
eval("document.form1.text1.value = td5"+i"+".innerHTML");
}<script>
function aa(){
var i = 5
alert(eval("td"+i+".innerHTML"));
eval("document.form1.text1.value = td"+i+".innerHTML");
}
用上面的方法就可以把td和5分开来,测试通过.5代码一个I的变量,你看看在你的代码中应该怎么用就行了.
<tr><td id=td1>aa</td><td id=td2>bb</td><td id=td3>cc</td><script>
function aa(){
for(i=0;i<3;i++){
eval("document.form1.text"+i+".value = td"+i"+".innerHTML");
}
}<script>
<script>
function aa(){
var i
for(i=0;i<3;i++)
alert(eval("td"+i+".innerHTML"));
}
</script><%
key=trim(Request("key"))
select1=request("select1")
'连接数据库
set orasession=createobject("OracleInprocServer.XOraSession")
set oradatabase=orasession.dbopendatabase("orcl","system/manager",0)
'设置查询条件
if select1="wzbm" then
sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm and wzbm = '%"&key&"%'"
elseif select1="wzmc" then
sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm and wzmc = '%"&key&"%'"
elseif select1="xjbm" then
sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm and xjbm = '%"&key&"%'"
else
sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm "
end if
set oradynaset=oradatabase.dbcreatedynaset(sql,0)
'设置页长
pagesize=15
if oradynaset.recordcount=0 then
response.write "无符合条件的数据"
else
response.write"<h3>查询结果</h3>"
'计算页数
pages=int(oradynaset.recordcount/pagesize)
if pages*pagesize=oradynaset.recordcount then
pages=int(oradynaset.recordcount/pagesize)
else
pages=int(oradynaset.recordcount/pagesize)+1
end if
if request("page")="" then
page=1
else
page=cstr(request("page"))
end if %>
<%response.write"共"&pages&"页,目前第"&page&"页"
response.write"<table border=5><tr>"
response.write"<td>"
response.write "物资编码"
response.write"</td>"
response.write"<td>"
response.write "物资名称"
response.write"</td>"
response.write"<td>"
response.write "规格型号"
response.write"</td>"
response.write"<td>"
response.write "材质"
response.write"</td>"
response.write"<td>"
response.write "标准"
response.write"</td>"
response.write"<td>"
response.write "数量"
response.write"</td>"
response.write"<td>"
response.write "交货时间"
response.write"</td>"
response.write"<td>"
response.write "交货地点"
response.write"</td>"
response.write "</tr>"
startrow=(page-1)*pagesize+1
endrow=page*pagesize
oradynaset.moveto startrow
i=0
for j=startrow to endrow
response.write"<tr>"
response.write"<td ondblclick=aa() id=td0>"
response.write (oradynaset.fields("wzbm") )
response.write"</td>"
response.write"<td id=td1>"
response.write (oradynaset.fields("wzmc"))
response.write"</td>"
if oradynaset.fields("ggxh")="" then
response.write"<td>"
response.write ""
response.write"</td>"
else
response.write"<td id=td2>"
response.write (oradynaset.fields("ggxh"))
response.write"</td>"
end if
if oradynaset.fields("cz")="" then
response.write"<td>"
response.write ""
response.write"</td>"
else
response.write"<td>"
response.write (oradynaset.fields("cz"))
response.write"</td>"
end if
response.write"<td>"
response.write " "
response.write"</td>"
response.write"<td>"
response.write (oradynaset.fields("sl"))
response.write"</td>"
response.write"<td>"
response.write (oradynaset.fields("jhrq"))
response.write"</td>"
response.write"<td>"
response.write (oradynaset.fields("shdw"))
response.write"</td>"
response.write"</tr>"
oradynaset.movenext
if oradynaset.eof then exit for
i=i+1
next
response.write"</table>"
end if
if page>1 then
Response.write"<a href=wz.asp?key="&key&"&page=1>第一页</a>"
response.write "<a href=wz.asp?key="&key&"&page="&page-1&">上一页</a>"
end if
if cint(page)<pages then
response.write "<a href=wz.asp?key="&key&"&page="&page+1&">下一页</a>"
response.write "<a href=wz.asp?key="&key&"&page="&pages&">最后页</a>"
end if
set orasession=nothing
%>
<body>
<script>
function aa(i){
var i = i
//alert(eval("td"+i+".innerHTML"));
for(k=1;k<4;k++){
eval("document.form1.text"+k+".value = td_"+i+"_"+k+".innerHTML");
}
}
</script>
</p>
<form name="form1" method="post" action="">
<% for i=0 to 5 %>
<input type="text" name="text<%=i%>">
<% next %>
</form>
<p> </p>
<table border="1" cellspacing="0" cellpadding="0" width="512">
<% for i=0 to 5 %>
<tr onMouseDown="aa(<%=i%>)">
<td id="td_<%=i%>_1"><%=i&" 11111"%></td>
<td id="td_<%=i%>_2"><%=i&" 2222"%></td>
<td id="td_<%=i%>_3"><%=i&" 3333"%></td>
<td> </td>
</tr>
<% next %>
</table>
<p> </p>
</body>
</html>
<tr onMouseDown="aa(<%=i%>)">
<td id="td_<%=i%>_1"><%=oradynaset("wzbm") %></td>
<td id="td_<%=i%>_2"><%=oradynaset("wzmc")%></td>
<%if oradynaset.fields("ggxh")="" then%>
<td ></td>
<%else%>
<td id="td_<%=i%>_3"><%=oradynaset("ggxh")%></td>
<%end if%>
<%if oradynaset.fields("cz")="" then%>
<td></td>
<%else%>
<td id="td_<%=i%>_4"><%=oradynaset("cz")%></td>
<%end if%>
<td id="td_<%=i%>_5"><%=oradynaset("sl")%></td>
<td id="td_<%=i%>_6"><%=oradynaset("sl")%></td>
<td id="td_<%=i%>_7"><%=oradynaset("jhrq")%></td>
<td id="td_<%=i%>_8"><%=oradynaset("shdw")%></td></tr>
<%oradynaset.movenext
if oradynaset.eof then exit for
next %>
</table>
<%end if
知道了,我有这样的一个问题,访问ORACLE时,有时记录为空不出问题,有时出问题,我就加了IF ELSE,但多加的TD就没有编号了,我刚学ORACLE,你用过吗?