2011-01-11 2 views
0

У меня есть фрагмент кода, который так:Изменение источника сигнала изображения с помощью Javascript

<div id="image_input"> 
    <img src="missing-image.png" name="image_comp" /> 
    <input type="text" name="image_url" size="37" /> 
</div> 

Я хочу, что, когда кто-то unfocus image_url или даже сделать onChange событие, функция Javascript называется changeImage() быть поднят (это я уже знать, как это сделать, теперь приходит то, что у меня нет) и изменить изменения image_comp на URL, который написан в image_url. Как это сделать?

+0

возможно document.getElementByName ('image_comp') SRC = document.getElementByName (. .) значение 'IMAGE_URL'; –

+2

'getElementByName' не является функцией, а только' getElementsByName'. Это связано с тем, что имя не обязательно должно быть уникальным, как 'id'. 'getElementsByName' возвращает массив объектов с указанным именем. –

ответ

4
document.getElementsByName("image_comp")[0].src = document.getElementsByName("image_url")[0].src; 

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

1
<div id="image_input"> 
    <img src="missing-image.png" id="image_comp" /> 
    <input type="text" name="image_url" id="image_url" size="37" /> 
</div> 

<script type="text/javascript"> 
    jQuery('#image_url').bind('change blur', function() { 
     jQuery('#image_comp').attr('src', this.value); 
    }); 
</script> 
+0

хороший ответ, но должен быть .attr ('src', this.value); – goat

+1

вот что происходит, когда вы отвечаете перед кофе :-P – Stephen

1
<div id="image_input"> 
    <img src="missing-image.png" name="image_comp" id="image_comp" /> 
    <input type="text" name="image_url" size="37" id="image_url" /> 
</div> 

Вы можете определить идентификаторы для обоих элементов и иметь это в вашей функции OnChange:

document.getElementById('image_comp').src = document.getElementById('image_url').value; 
Смежные вопросы