загрузка изображений javascript и замена текста - PullRequest
1 голос
/ 14 сентября 2009

Странно описывать, но здесь идет.

У меня есть таблица с несколькими строками. Одно из полей в каждой строке для изображения. Теперь я не хочу показывать само изображение, а скорее имя файла изображения в виде ссылки.

Когда я нажимаю эту ссылку, я хочу открыть окно, которое позволит мне загрузить или выбрать новое изображение из списка.

Ключ в том, что когда я закончу, я хочу, чтобы новое имя файла отображалось в таблице как встроенный стиль редактирования.

Теперь я знаю, как отобразить имя файла в виде ссылки, я знаю, как открыть окно, я знаю, как загружать изображения или отображать некоторые из них для выбора. То, что я не знаю, как сделать, это когда я выбрал или загрузил изображение, чтобы затем вернуться и изменить этот текст.

Скажите, что имя поля, содержащее текст имени файла, # picfield1. (Будет уникальным для каждого поля)
Что было бы лучшим способом построить это. Должен ли я использовать слой на странице, как модальный, или я должен использовать отдельное окно?

1 Ответ

2 голосов
/ 14 сентября 2009

Когда всплывающее окно открыто, вам нужно передать ему строку или идентификатор ссылки, по которой вы щелкнули. Когда всплывающее окно выполнено и перед вызовом его функции 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 и т. Д. При выполнении этого вызова может потребоваться добавить один в строку.

Конечно, это нужно настроить, исходя из ваших конкретных потребностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...