2009-04-20 8 views
11

У меня есть вопрос. Во-первых, я не собираюсь притворяться, что знаю, о чем я говорю. Я новичок в http и JavaScript.Переменная для img src =

Я думаю, что мой вопрос можно ответить на этот пост IMG SRC tags and JavaScript , но я думал, что объяснить точно, что я пытаюсь достичь в случае, если есть более простой способ.

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

например. 4 апреля = «http://host/partition/2009/apr/04/cpu.gif»
, например. 5 апреля = «http://host/partition/2009/apr/05/cpu.gif»

Чтобы облегчить это, я создал базовый JavaScript, чтобы дать мне дату в том формате, в котором я нуждаюсь. У меня есть все, что работает. Теперь я просто хочу использовать эту переменную, созданную для показа изображения. У меня есть код JavaScript, хранящийся в функции displaydate() Если я это сделаю <script language="JavaScript"> displaydate() </script> Я вижу «http://host/partition/2009/apr/05/cpu.gif», и это правильно.

Теперь, как правильно отобразить это на сайте?

<a href="displaydate()"><img src="displaydate()" </a></td> //This does not work. I am just adding it to show where I have been heading. 

P.S. Я прочитал много страниц об этом и много чего пытался, но до сих пор не повезло. Любая помощь приветствуется.

+1

Вы упоминаете Java - это ваш вопрос, как вывести переменную в атрибут src? Вы используете что-то вроде JSP? – harto

+2

Javascript не имеет ничего общего с Java. Я думаю, вы путаете эти два. – Artelius

ответ

14

Да, эта страница, вероятно, отвечает на ваш вопрос. В принципе, вы хотите, чтобы это JavaScript:

<script type="text/javascript"> 
document.getElementById('image').src = "yourpicture.png"; 
</script> 

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

<script type="text/javascript"> 
document.getElementById('image').src = displaydate(); 
</script> 

Конечно, вам может понадобиться немного изменить это для ваших собственных целей, getElementById возьмет в качестве аргумента любой атрибут id вашего тега < img>. Вы, вероятно, хотите, чтобы выполнить вышеуказанную JavaScript после загрузки вашей страницы, а именно:

<html> 
<head> 
<script type="text/javascript"> 
function load() 
{ 
document.getElementById('image').src = displaydate(); 
} 

function displaydate() 
{ 
//your displaydate() function here 
} 
</script> 
</head> 

<body onload="load()"> 

<img src="nothing.jpg" id="image" name="image"/> 
</body> 
</html> 
+3

Далеко, спасибо за ответ. Я не ожидал такого быстрого ответа. Это первый раз, когда я задавал вопрос на любом форуме. Спасибо, я попробую это. – 2009-04-20 07:02:02

+2

Добро пожаловать, только что сделал другое редактирование, которое я действительно проверил, и это сработало для меня. Надеюсь, вы сможете заставить себя работать. Удачи! –

+0

ваш код очень приятный, цистерны –

1

Вы должны просто нужно изменить эту линию

document.write("http://host1/Shared/" + year + "/" + month + "/" + day + "/cpu_abs.gif"); 

в

return "http://host1/Shared/" + year + "/" + month + "/" + day + "/cpu_abs.gif";