很难描述,但现在这样。
我有一个有几行的表。每行中的一个字段用于图像。现在我不想显示图像本身,而是显示图像的文件名作为链接。
当我点击该链接时,我想弹出一个窗口,让我上传或从列表中选择一个新图像。
关键是,当我完成后,我希望新的文件名显示在表格a-la内联编辑样式上。
现在我知道如何显示文件名作为链接,我知道如何弹出一个窗口,我知道如何上传图像,或显示一些可供选择。我不知道该怎么办,一旦我选择或上传图片,然后返回并更改该文字。
假设包含文件名文本的字段名是#picfield1。(每个字段将是唯一的)
什么是建立这个的最好方法。我应该在页面上使用像模态一样的图层,还是应该使用单独的窗口?
答案 0 :(得分:2)
打开弹出窗口时,您需要将所单击链接的行或ID传递给它。一旦完成弹出窗口并且在调用它的window.close()函数之前(如果它是一个真正的弹出窗口),让它做这样的事情:
window.opener.updateImageLink(row, fileName); //will call a function on the parent window
其中row是最初传递给此弹出窗口的行,而filename是用于更新链接的有效文件名。
这将调用以下函数:
function updateImageLink(row, fileName)
{
document.getElementById("#picfield" + row).innerHTML = escape(fileName);
}
这假定字段被枚举为#picField1,#picField2等。在进行此调用时,您可能需要在行中添加一个。
当然,这需要根据您的具体需求进行调整。