能不是能取出Table裡面的各種元素呢?

binbin50 2005-04-28 10:22:02
在一個Form裡面有多表table名為t1,t2等,
現我要把表t1裡的<input type="text" name = "text1">裡的內空復制到
表t2裡的<input type = "text" name = "text2">裡面,
聲明:t1裡的text是動態的就是說name可能是text1,text2或textn等
而t2裡的text也是動態的。
大家幫有想想給個思路,謝謝!
...全文
144 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
binbin50 2005-04-28
  • 打赏
  • 举报
回复
menrock(做人要厚道):
就個就是我想要的,謝謝,結帳羅!
menrock 2005-04-28
  • 打赏
  • 举报
回复
这个应该是你想要的了吧?


<script language="javascript">

function bb(){
var c=document.getElementById("t1").getElementsByTagName("INPUT")
var d=document.getElementById("t2").getElementsByTagName("INPUT")
var e=0;
var f;
for(var i=0;i<c.length;i++)
{
f=false;
if(c[i].type=="text")
{
while(f==false)
{if(d[e].type=="text"){d[e].value=c[i].value;e++;f=true;}else{e++;}
}
}
}
}
</script>
<table id="t1">
<input type="text" name="fdd">
<input type="text" name="fdd12">
<input type="text" name="fdd321">
<input type="text" name="fdd123">
</table>

<table id="t2">
<input type="text" name="fdd3213">
<input type="text" name="fdd31213">
<input type="button" value="复制" onClick="bb()">
<input type="text" name="fdd32413">
<input type="text" name="fd3213">
<input type="text" name="fd3">

</table>
davs 2005-04-28
  • 打赏
  • 举报
回复
GetFormEleName(getHTTPPage(url))用此就可以把整个页都取出来了,你加以修改一下就可以在一个表单中取得了
davs 2005-04-28
  • 打赏
  • 举报
回复
'********************************************
'提取表单之内的元素名称 *
'Txt为表单的内容(包括html标签) *
'版权所有:www.szaol.com *
'作者:Davery *
'QQ:25921853 *
'Email:hbhost@163.com *
'********************************************
Function GetFormEleName(Txt)
'**初始化**************************************

GetFormEleName=""
formename="input,select,textarea"
farr=split(formename,",")
tmparr = split(Txt,chr(13)&chr(10))
if ubound(tmparr)<=0 then Exit Function
Start=false
sEnd=false
tmpstr=""
'********************************************
for i=0 to ubound(tmparr) '循环整个文章
j=0
for j=lbound(farr) to ubound(farr) '循环判断是否有表单元素
tmparr(i)=replace(replace(replace(replace(replace(tmparr(i),"%"," "),"/"," "),"<"," "),">"," "),"'"," ")
StartTxtLine=0
StartTxtLine=instr(lcase(trim(tmparr(i))),lcase(farr(j))) '表单元素出现在的位置

if StartTxtLine>0 then '如果有表单元素


tmpstr1=mid(trim(tmparr(i)),StartTxtLine+len(farr(j)),StartTxtLine+len(farr(j))+1) '取表单元素后一个字符是什么
if asc(tmpstr1)=32 then '判断是否是空格,是空格才往下执行,以防类似于select 与selected 区别错误,此句有时会错误,尚未查出原因

sPoint=instr(lcase(tmparr(i)),"name") '表单元素名称出现的位置
ePoint=instr(right(tmparr(i),len(tmparr(i))-(sPoint+len("name"))),chr(32))'表单元素名称结束的位置
tmpstr=trim(replace(replace(replace(mid(tmparr(i),sPoint+len("name"),ePoint),"""",""),">",""),"=",""))'取出表单元素名称
if tmpstr<>"" then
tmparray=split(GetFormEleName,",")
ishave=false '初始化,用来判断在是否已经存在这个名称
for k=lbound(tmparray) to ubound(tmparray) '循环取出已取出的表单元素来判断,是否已经存在
if lcase(tmparray(k))=lcase(tmpstr) then
ishave=true
exit for
end if
next
if not ishave then GetFormEleName=GetFormEleName&","&tmpstr '不存在才加上来
end if

end if

end if

next
next

if len(GetFormEleName)>0 then
GetFormEleName=right(GetFormEleName,len(GetFormEleName)-1)'去掉右边的逗号
end if
End Function


'--------------获取网页-----------------------------------
function getHTTPPage(url)
on error resume next
dim http
set http=Server.createobject("Msxml2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then exit function
getHTTPPage=bytes2BSTR(Http.responseBody)
set http=nothing
if err.number<>0 then err.Clear
end function

Function bytes2BSTR(vIn)
dim strReturn
dim i,ThisCharCode,NextCharCode
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function
jekexys2004 2005-04-28
  • 打赏
  • 举报
回复
不会,帮顶
baiyunfei 2005-04-28
  • 打赏
  • 举报
回复
<script language="JavaScript">
function Copy()
{
var obj_1=document.all.t1.getElementsByTagName('INPUT')
var obj_2=document.all.t2.getElementsByTagName('INPUT')
for (var i=0;i<obj_1.length;i++)
{
if (obj_1(i).type=="text"&&obj_2(i))
obj_2(i).value=obj_1(i).value;
}
}
</script>
<input type="button" value="click" onClick="Copy()">
binbin50 2005-04-28
  • 打赏
  • 举报
回复
沒有對應才難做啊,
可能是t1裡有4個文本框,但t2裡有6個
這樣就隻復制t1前面的4個文本框。
如裡t2裡隻有2個文本框就復制t1前面的2個文本框。
ryuginka 2005-04-28
  • 打赏
  • 举报
回复
你两个表里的文本框是不是对应的啊?
binbin50 2005-04-28
  • 打赏
  • 举报
回复
to: menrock(做人要厚道)
我的那些表格是在同一個Form裡的。
binbin50 2005-04-28
  • 打赏
  • 举报
回复
to: baiyunfei(虚度残生)
你两个table里会有很多text吗?t1和t2又是个怎么对应法的呢?
---------------------------------------------------------
我有多個table裡有多個text且不確定,
t1與t2沒有對應啊,名字可以按順序。
現在是要把第一個table裡的text的內容Copy到其它table裡的Text裡。
binbin50 2005-04-28
  • 打赏
  • 举报
回复
to:liuxiaoyi666(兔子)
我要怎麼找出t1裡的所有text元素呢。
menrock 2005-04-28
  • 打赏
  • 举报
回复
<script language="javascript">
function aaa(a)
{
var b=a.name;
var c=document.t2.getElementsByTagName("INPUT")
c[0].value=a.value;
}

</script>
<form name="t1">
<input type="text" name="fdd" onKeyUp="aaa(this)">

</form>
<form name="t2">
<input type="text" name="fdd3213">
</form>
不能确定名称,那应该能确定位置吧?
baiyunfei 2005-04-28
  • 打赏
  • 举报
回复
你两个table里会有很多text吗?t1和t2又是个怎么对应法的呢?
king2410 2005-04-28
  • 打赏
  • 举报
回复
命名再动态也有个规则吧,定个好的命名规则就好找了
menrock 2005-04-28
  • 打赏
  • 举报
回复
<script language="javascript">
function aaa(a)
{
var b=a.name;
var c=eval("document.t2."+b);
c.value=a.value;
}

</script>
<form name="t1">
<input type="text" name="fdd" onKeyUp="aaa(this)">
<input type="text" name="fdd3213" onKeyUp="aaa(this)">
</form>
<form name="t2">
<input type="text" name="fdd">
<input type="text" name="fdd3213">
</form>
binbin50 2005-04-28
  • 打赏
  • 举报
回复
能詳細點嗎,能用個簡單例子說明一下啊~
  • 打赏
  • 举报
回复
eval和命名方式的合用体现用正则也不容易,反正是简单方法的木有
  • 打赏
  • 举报
回复
这个是个策略问题,你需要在table的命名方式上入手的
TSD 2005-04-28
  • 打赏
  • 举报
回复
用正则表达式

28,390

社区成员

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

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