这是我的代码:
<form>
<img id='image' src=""/>
<input type='text' id='text'>
<input type="button" value="change picture" onclick="changeimage()">
</form>
function changeimage() {
var a=document.getElementById('text').value
var c=a+".gif"
c="\""+c+"\""
var b= "<img src="+c+"\/>"
document.getElementById('image').innerHTML=b
}
我有一些GIF图片。我想在文本框中写一个图像名称,然后在单击按钮时显示图像。然而,它没有发生。为什么呢?
答案 0 :(得分:8)
你应该这样做:
document.getElementById('image').src = c;
通过执行document.getElementById('image').innerHTML=b
,您尝试在<img>
标记内定义HTML,这是不可能的。
完整脚本:
function changeimage() {
var a = document.getElementById('text').value;
var c = a + ".gif";
document.getElementById('image').src = c;
}
答案 1 :(得分:2)
请改为尝试:
<html>
<body>
<script type="text/javascript">
function changeimage() {
var a = document.getElementById('text').value;
document.getElementById('image').src = a + '.gif';
}
</script>
<form>
<img id='image' src=""/>
<input type='text' id='text'>
<input type="button" value="change picture" onclick="changeimage()">
</form>
</body>
</html>
答案 2 :(得分:0)
document.getElementById("image").setAttribute("src","another.gif")
答案 3 :(得分:0)
要更新<img>
标记,您需要更新它的来源,而不是内部HTML。
function changeimage()
{
var a=document.getElementById('text').value
var c=a+".gif"
c="\""+c+"\""
var elem = document.getElementById('image');
elem.setAttribute('src', c);
}