100分求助

iforem 2004-08-11 03:44:19

对web开发只是浅尝,一个问题始终不能解决,望高手出手。

问题描述:

页面初始状态下,包括一个table,显示在table中的一个图片,一个添加table的按钮,以及选择图片的按钮。

用户点击添加table的按钮,可以动态地添加一个table。
点击table对应的选择图片按钮,会打开一个新窗口,从中选择一个图片,图片会更新到对应的table中


现在的问题是,增加table可以实现了,但是在新增的table中选择图片后,更新的却是第一个table中的图片。

...全文
107 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
michael_monkey 2004-08-11
  • 打赏
  • 举报
回复
两个文件
showImg.htm
------------------------------------
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript">
function createNewTable(i){
alert(i);
var tmpStr;
tmpStr="<table width='100%' border='0' cellspacing='0' cellpadding='0' name='table"+i+"' id='table"+i+"'><tr><td><img src='' id='img"+i+"' name='img"+i+"'></td></tr><tr><td><input type='button' name='Submit' value='更换图片' onClick=document.all.id.value='"+i+"';window.open('changImg.htm')></td></tr></table><div id='div1' name='div1'><input type='button' name='Submit' value='创建表格' onClick='createNewTable("+(i+1)+")'></div>"
document.all.div1.outerHTML=tmpStr;
}
</script>
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0" name="table1" id="table1">
<tr>
<td><img src="1.JPG" id="img1" name="img1"></td>
</tr>
<tr>
<td><input name="id" id="id" type="hidden"><input type="button" name="Submit" value="更换图片" onClick="document.all.id.value='1';window.open('changImg.htm')">
</td>
</tr>
</table><div id='div1' name='div1'><input type="button" name="Submit" value="创建表格" onClick="createNewTable(2)"></div>
</body>
</html>



changImg.htm
-------------------------------------
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript">
function setImg(sel){
var obj;
obj=window.opener.document.all;
var currentImgId;
currentImgId="img"+obj.id.value;
obj(currentImgId).src=sel.options(sel.selectedIndex).value;
}
</script>
</head>

<body>
<select name="select" onChange="setImg(this)">
<option value="1.jpg">1.jpg</option>
<option value="2.jpg">2.jpg</option>
<option value="3.jpg">3.jpg</option>
</select>
</body>
</html>

zhongmao 2004-08-11
  • 打赏
  • 举报
回复
同意无形
尽量用this
LxcJie 2004-08-11
  • 打赏
  • 举报
回复
更新的是第一个表格?那这就是小问题了,肯定是你子窗口中回写是,把表格id写错了啊
brothder 2004-08-11
  • 打赏
  • 举报
回复
楼主的问题在于不能找到当前的table,解决方法可以写一个具体的方法来解决
<script>
function changeimg(obj){
var arr=showModalDialog("选择页面","","");
if arr!=null{
obj.innerHTML+="<img src='"+arr+"'>";
}
}
<script>
在table里的按钮调用的时候 changeimg(this.parentElement);
在选择也面里使用window.returnValue="选择的图片路径";

这样可以解决楼主的问题。如果有问题,可以EMAIL给我,我的EMAIL是brothder@sina.com.
iforem 2004-08-11
  • 打赏
  • 举报
回复
代码基本上都是从网上找到的,这个功能实现之后,贴出代码就是了

谢谢 BubbleInDiamond(钻石里的泡泡)
sheng9hhd 2004-08-11
  • 打赏
  • 举报
回复
尽量用this
  • 打赏
  • 举报
回复
code,谢谢
BubbleInDiamond 2004-08-11
  • 打赏
  • 举报
回复
test.htm
<script>
var temp;
function openwindow(t)
{
temp = t;
window.open('test1.htm')
}
</script>
<span id="t1" onClick="openwindow(this)">t1</span><br>
<span id="t2" onClick="openwindow(this)">t2</span>

test1.htm
<a href="javascript:window.opener.temp.innerHTML = 'click'">click</a>
yiyioo 2004-08-11
  • 打赏
  • 举报
回复
楼主不想代码外泄
哈哈
sheng9hhd 2004-08-11
  • 打赏
  • 举报
回复
你现有的代码贴出来看看
BubbleInDiamond 2004-08-11
  • 打赏
  • 举报
回复
楼主的浅尝可真厉害

菜鸟的想法:你是不是在弹出的新窗口中调用opener来修改原来窗口中的图片路径

如果是这样的话,那建议用一个变量在弹出窗口前就记录下点击的table的ID,然后就可以修改对应的表的图片了
MOTA 2004-08-11
  • 打赏
  • 举报
回复
不懂
帮你顶

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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