2013-07-04 3 views
0

Это похоже на то, что оно должно быть простым, но это оказывается болью. Как установить src изображения на имя, содержащее пробелы? Я пробовал этот путь:Изменить <img> src Атрибут с пробелами по названию

var newSrc = "images/" + sname[field].split(":")[selected] + ".png"; 
document.getElementById("image" + field).src = newSrc; 

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

document.getElementById («изображение» + поле) .src

показывает, что это на самом деле было установлено как

http://localhost/SkillPlanner/images/Branch%202.png 

Технически, я думаю, есть два вопроса:

1) Почему она полностью квалифицировать его, когда все, что мне нужно, это относительная ссылка?

2) Как я могу сохранить пространство в целости, так как они являются частью имени файла?

+0

Нашли решение, сделав ту самую вещь, о которой я мог думать, которая должна была обернуть всю строку, которую я добавлял в unescape(). Все еще не знаю, почему это сработало, но это произошло: P Подождите 5 часов, чтобы ответить на вопрос, чтобы я мог добавить ответ и отметить его: P –

ответ

1

Как promissed (если немного задерживается), решение было обернуть строку в «», экранирования в который заставляет вещи, как пространства, чтобы не быть интерпретированы при использовании.

var newSrc = unescape("images/" + sname[field].split(":")[selected] + ".png"); 
0

Вот еще одна тема о пространствах.

CSS and JQuery: spaces inside image name break code of url()

+0

Это не касается моей проблемы, однако, поскольку я меняю value ПОСЛЕ того, как он был обработан с помощью HTML-скриптов. Оригинальным src является «images/Branch 1.png», который отлично работает. Это когда он изменился через Javascript, что проблемы возникают. –

Смежные вопросы