为了账号安全,请及时绑定邮箱和手机立即绑定

使用输入类型图像上传前预览图像

使用输入类型图像上传前预览图像

噜噜哒 2022-12-29 15:32:13
如果我使用img标签并在单击简单按钮后 - 图像预览工作:HTML<form runat="server">  <input type='file' id="imgInp" />  <img id="blah" src="#" alt="your image" /> <--- in this place img</form>JSfunction readURL(input) {  if (input.files && input.files[0]) {    var reader = new FileReader();        reader.onload = function(e) {      $('#blah').attr('src', e.target.result);    }        reader.readAsDataURL(input.files[0]); // convert to base64 string  }}$("#imgInp").change(function() {  readURL(this);});但是当我试图隐藏按钮并使图像可点击(使用实现它input type="image")预览不起作用时,选择图像没有效果,不更改默认图像)。默认的可点击图片类似于“点击此处上传照片”。HTML<form runat="server">                   <div class="thumb-preview">        <input type="image" id="blah" src="<?=path?>/images/upload.png"/> <-- input type image        <input type='file' id="imgInp" style="display: none;" />    </div>                            </form>JSfunction readURL(input) {  if (input.files && input.files[0]) {    var reader = new FileReader();        reader.onload = function(e) {      $('#blah').attr('src', e.target.result);    }        reader.readAsDataURL(input.files[0]); // convert to base64 string  }}$("#imgInp").change(function() {  readURL(this);});$("input[type='image']").click(function() {    $("input[id='imgInp']").click();});你有想法如何改变形象input type="image"吗?
查看完整描述

1 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

您需要在点击功能中使用e.PreventDefault方法,以确保您每次点击时click type=image都不是该页面。!reloading

现场演示:


function readURL(input) {

  if (input.files && input.files[0]) {

    var reader = new FileReader();

    reader.onload = function(e) {

      $('#blah').attr('src', e.target.result);

    }

    reader.readAsDataURL(input.files[0]); // convert to base64 string

  }

}


$("#imgInp").change(function(e) {

  e.preventDefault()

  readURL(this);

});


$("input[type='image']").click(function(e) {

  e.preventDefault()

  $("input[id='imgInp']").click();

});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<form runat="server">               

    <div class="thumb-preview">

        <input type="image" id="blah" src="https://img.icons8.com/dotty/80/000000/upload.png"/> 

        <input type='file' id="imgInp" style="display: none;" />

    </div>                            

</form>




查看完整回答
反对 回复 2022-12-29
  • 1 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信