JavaScript:将属性设置为视频元素

时间:2013-03-05 03:43:52

标签: javascript

我希望我的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>

3 个答案:

答案 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)

  1. id="anir"应附加到视频标记,而不是源 标签
  2. 您不能在getElementById之后使用[0],因为它会返回元素,而不是元素数组。
  3. 正确关闭视频标记
  4. 您不应该使用.value来获取anir元素,因为您需要整个元素,以便在后续行中设置source属性。
  5. 最终结果:

    <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>
    

    Live Demo