我希望我的javascript获取用户输入的url并发送到源元素上的src属性,但它不起作用。请帮帮我?
这是我的剧本:
<input type="text" name="aniurl" size="60"><br>
<button class="btn" onclick="playVideo()" >button</button>
</div>
<video controls preload="auto" >
<source id="anir" type="video/mp4">
<script>
function playVideo(){
var aniurl = document.getElementsByName("aniurl")[0].value;
var ani2 = document.getElementById("anir")[0].value;
ani2.setAttribute("src",aniurl);
}
</script>
答案 0 :(得分:0)
var ani2 = document.getElementById("anir")[0].value;
应该是:
var ani2 = document.getElementById("anir").value;
getElementById()
不会返回数组。
答案 1 :(得分:0)
var ani2 = document.getElementById("anir")[0].value;`
应该是
var ani2 = document.getElementById("anir");
getElementById
返回单个元素(或null),然后setAttribute
是dom元素上的方法,而不是value
将为您提供的字符串。
此外,您的视频代码未关闭。
答案 2 :(得分:0)
id="anir"
应附加到视频标记,而不是源
标签[0]
,因为它会返回元素,而不是元素数组。.value
来获取anir
元素,因为您需要整个元素,以便在后续行中设置source属性。最终结果:
<input type="text" name="aniurl" id="aniurl" size="60" value="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" />
<button class="btn" onclick="playVideo()">button</button>
<video width="320" height="240" id="anir" controls>
<source src="movie.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<script>
function playVideo() {
var aniurl = document.getElementById("aniurl").value;
var ani2 = document.getElementById("anir");
ani2.setAttribute("src", aniurl);
}
</script>