【问题标题】:Changing the Image when I select a new Image from files当我从文件中选择新图像时更改图像
【发布时间】:2016-05-08 06:03:40
【问题描述】:

我正在使用 input type = "file" 选择图像。但我隐藏了 选择文件按钮 并显示图像而不是那个。所以当用户点击图片时,文件选项就会打开。

这是我的代码

   <div class="image-get">
                    <label for = "LoadImage">
                      <span  class="glyphicon glyphicon-user">
                       <img id="PreviewImage" align="left">
                       </span>
                    </label>
                   <input type="file" name="LoadImage" id="LoadImage" data-bind="value: LoadImage, hasfocus: LoadImage.focused">

           </div>

这是我的 CSS

.image-get > input
{
display: none;
}

.image-get img
{
 width: 80px;
 cursor: pointer;
}

这是失去焦点时显示图像的js代码

   self.LoadImage.focused = ko.observable();

   self.LoadImage.focused.subscribe(
  function(newValue) {



              if (!newValue)
              {
                    //alert("yupppiiieeee");

                     var reader = new FileReader();


                     reader.readAsDataURL(document.getElementById("LoadImage").files[0]);


                        reader.onload = function (Event)
                        {

                         //var source = src;
                         document.getElementById("PreviewImage").src = Event.target.result;


                        };


              }

 })

我认为问题是由于 display : none 但我不确定。如果我删除它,选择文件选项会显示我不想显示的内容。 关于如何实现它的任何建议。谢谢你

【问题讨论】:

  • 目前还不清楚什么不起作用,建议发布一个最小的工作代码sn-p。
  • 是否需要使用knockoutjs
  • “这里是失去焦点时显示图像的js代码” 当焦点在哪个元素上失去时?
  • 当焦点在文件元素上丢失时,图像显示
  • 我正在做 durandal 项目因此淘汰赛......

标签: javascript jquery html css


【解决方案1】:

如果我理解你的正确,它可以在你的输入字段上不设置display: none,只需将其 CSS 更改为此

.image-get > input
{
  position: absolute;
  left: -9999px;
}

【讨论】:

  • 我会试试这个,让你知道。感谢您的快速回复。 :)
  • 非常感谢LGSon。它可以工作,尽管它不会覆盖我在跨度中拥有的任何图像,但我会弄清楚的。再次感谢您的快速回复。
猜你喜欢
  • 2017-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多