图片上传预览

谷歌浏览器测试通过
form表单

<form id="satmpdefForm" action="" style="padding: 10px 20px 10px 40px;"
             enctype="multipart/form-data" method="post">
            <table>
                <tr>
                    <td></td>
                    <td><input name="imgFile" id="imgFile" type="file"
                        style="width: 100%" accept="image/png,image/jpeg,image/gif" onchange="change_photo()"></td>
                </tr>

            </table>
            <div id="Imgdiv" align="center">
        <img id="Img" width="200px" height="200px" alt="预览图">
        </div>
        </form>

.javaScript 脚本:

function change_photo(target,state){
         PreviewImage($("input[name='imgFile']")[0], 'Img', 'Imgdiv');
}

PreviewImage是调用网上大神写的一个方法:点击这里查看原文

function PreviewImage(fileObj,imgPreviewId,divPreviewId){  
            var allowExtention=".jpg,.png,.jpeg";//允许上传文件的后缀名document.getElementById("hfAllowPicSuffix").value;  
            var extention=fileObj.value.substring(fileObj.value.lastIndexOf(".")+1).toLowerCase();              
            var browserVersion= window.navigator.userAgent.toUpperCase();  
            if(allowExtention.indexOf(extention)>-1){   
                if(fileObj.files){//HTML5实现预览,兼容chrome、火狐7+等  
                    if(window.FileReader){  
                        var reader = new FileReader();   
                        reader.onload = function(e){  
                            document.getElementById(imgPreviewId).setAttribute("src",e.target.result);  
                        }    
                        reader.readAsDataURL(fileObj.files[0]);  
                    }else if(browserVersion.indexOf("SAFARI")>-1){  
                        showError("不支持Safari6.0以下浏览器的图片预览!");  
                    }  
                }else if (browserVersion.indexOf("MSIE")>-1){  
                    if(browserVersion.indexOf("MSIE 6")>-1){//ie6  
                        document.getElementById(imgPreviewId).setAttribute("src",fileObj.value);  
                    }else{//ie[7-9]  
                        fileObj.select();  
                        if(browserVersion.indexOf("MSIE 9")>-1)  
                            fileObj.blur();//不加上document.selection.createRange().text在ie9会拒绝访问  
                        var newPreview =document.getElementById(divPreviewId+"New");  
                        if(newPreview==null){  
                            newPreview =document.createElement("div");  
                            newPreview.setAttribute("id",divPreviewId+"New");  
                            newPreview.style.width = document.getElementById(imgPreviewId).width+"px";  
                            newPreview.style.height = document.getElementById(imgPreviewId).height+"px";  
                            newPreview.style.border="solid 1px #d2e2e2";  
                        }  
                        newPreview.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale',src='" + document.selection.createRange().text + "')";                              
                        var tempDivPreview=document.getElementById(divPreviewId);  
                        tempDivPreview.parentNode.insertBefore(newPreview,tempDivPreview);  
                        tempDivPreview.style.display="none";                      
                    }  
                }else if(browserVersion.indexOf("FIREFOX")>-1){//firefox  
                    var firefoxVersion= parseFloat(browserVersion.toLowerCase().match(/firefox\/([\d.]+)/)[1]);  
                    if(firefoxVersion<7){//firefox7以下版本  
                        document.getElementById(imgPreviewId).setAttribute("src",fileObj.files[0].getAsDataURL());  
                    }else{//firefox7.0+                      
                        document.getElementById(imgPreviewId).setAttribute("src",window.URL.createObjectURL(fileObj.files[0]));  
                    }  
                }else{  
                    document.getElementById(imgPreviewId).setAttribute("src",fileObj.value);  
                }           
            }else{  
                    showError("仅支持"+allowExtention+"为后缀名的文件!");  
                fileObj.value="";//清空选中文件  
                if(browserVersion.indexOf("MSIE")>-1){                          
                    fileObj.select();  
                    document.selection.clear();  
                }                  
                fileObj.outerHTML=fileObj.outerHTML;  
            }  
        }

这样就可以实现表单提交前实现图片预览了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值