2009-09-14 62 views
1

奇怪的描述,但在这里。javascript图像上传和文本替换

我有一个表有几行。每行中的一个字段用于图像。现在我不想显示图像本身,而是图像的文件名作为链接。

当我点击该链接时,我想弹出一个窗口,让我上传或从列表中选择一个新的图像。

关键是,当我完成时,我希望新的文件名显示在表a-la内联编辑样式上。

现在我知道如何显示文件名作为链接,我知道如何弹出一个窗口,我知道如何上传图像,或显示一些选择。我不知道该怎么做,就是我选择或上传一张图片,然后返回并更改该文本。

假设包含文件名文本的字段名为#picfield1。(每个字段都是唯一的)
构建这个的最佳方式是什么?我是否应该像使用模式一样在页面上使用图层,还是应该使用单独的窗口?

回答

2

当弹出窗口被打开时,您需要传递被点击的链接的行或id。一旦弹出完成并在调用它的window.close()的函数(如果它是一个真正的弹出式),有它做这样的事情:

window.opener.updateImageLink(row, fileName); //will call a function on the parent window 

当行什么传递给这个弹出最初和文件名是更新链接的有效文件名。

这将调用下面的函数:

function updateImageLink(row, fileName) 
{ 
    document.getElementById("#picfield" + row).innerHTML = escape(fileName); 
} 

这假定字段被列举为#picField1,#picField2等,您可能需要添加一个在进行此调用时排。

这需要调整,当然,根据您的具体需求。

+0

谢谢,这给了我一个调查的方向,我感谢您的时间和意见。 – mrpatg 2009-09-14 12:19:16

+1

@Patrick:从你的问题看来,你真正想要的是父窗口和它的弹出窗口之间的某种通信,所以这就是我所要做的。如果情况并非如此,请通过问题本身告知我们。 – 2009-09-14 12:29:58