【问题标题】:Displaying duration inside input tag rather than pre tag在输入标签内显示持续时间而不是前标签
【发布时间】:2019-06-07 18:22:40
【问题描述】:

我正在尝试显示视频时长,我参考了 Kaiido 给出的这个答案Get video duration when input a video file。代码如下:

<script>
          var myVideos = [];

          window.URL = window.URL || window.webkitURL;

          document.getElementById('fileUp').onchange = setFileInfo;

          function setFileInfo() {
            var files = this.files;
            myVideos.push(files[0]);
            var video = document.createElement('video');
            video.preload = 'metadata';

            video.onloadedmetadata = function() {
              window.URL.revokeObjectURL(video.src);
              var duration = video.duration;
              var duration = (new Date).clearTime()
                                .addSeconds(duration)
                                .toString('H:mm:ss');

              myVideos[myVideos.length - 1].duration = duration;
              updateInfos();
            }

            video.src = URL.createObjectURL(files[0]);;
          }


          function updateInfos() {
            var infos = document.getElementById('infos');
            infos.textContent = "";
            for (var i = 0; i < myVideos.length; i++) {
              infos.textContent += myVideos[i].duration + '\n';
            }
          }
</script>

但是,我想将值插入标签而不是标签中。

我尝试使用输入标签代替前置标签,但它不起作用。

【问题讨论】:

  • 欢迎来到 Stack Overflow!请使用tour(您将获得徽章!),环顾四周,并通读help center,尤其是How do I ask a good question?,我还推荐Jon Skeet 的Writing the Perfect Question。我们无法为您提供我们看不到的代码。确保您问题的全部内容您的问题中,而不仅仅是链接。两个原因:人们不应该去场外帮助你;和链接腐烂,使问题及其答案对未来的人们毫无用处。
  • 谢谢 T.J.克劳德。成功了!
  • input的重点是让用户输入一些东西,用它来显示输出是非常不合适的!

标签: javascript duration


【解决方案1】:

如果它适用于pre 而不适用于input,则与this problem 正好相反:当您使用innerHTML(或innerTexttextContent 等)时应该使用value

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 2020-12-05
    • 2015-10-12
    • 2016-10-06
    • 2022-01-27
    • 2023-03-13
    • 2020-12-09
    相关资源
    最近更新 更多