tft每日頭條

 > 科技

 > 表單上傳文件如何不跳轉

表單上傳文件如何不跳轉

科技 更新时间:2024-06-29 19:37:29

上傳文件的時候,在IE7下總是傳不了,但FireFox,IE11和Chrome下則可以上傳。發現是form.submit();時出錯了(“拒絕訪問”)。

html代碼為:

<label onclick="Upload()"> 上傳附件</label> <form id="uploadForm" enctype="multipart/form-data" target="framefile" method="post"> <input type="file" id="a" name="a" onchange="fileUpload()" style="display:none" /> </form>

js代碼為

function Upload() { document.getElementById("a").click(); } function fileUpload() { var form = document.getElementById('uploadForm'); form.action="XXX.do?"; form.submit(); }

原來是因為IE下 file表單控件,不能用js控制打開文件選擇器(就是隻能點擊file本身,不能通過js調用file.click方式),否則會報 “拒絕訪問”。所以,通過将file設置為透明(position:absolute;top:0px;right:0px;cursor:pointer; opacity:0;filter:alpha(opacity:0);z-index:999;),用div或者其他的标簽蓋住file,這樣點擊顯示的div時同樣也真實的點擊了file。

代碼做一下調整,這個問題就能解決了

<label for="a"> 上傳附件 </label> <form id="uploadForm" enctype="multipart/form-data" target="frameFile" method="post"> <input type="file" id="a" name="a" onchange="fileUpload()" style="position:absolute;top:0px;right:0px;cursor:pointer; opacity:0;filter:alpha(opacity:0);z-index:999;"/> </form>

function fileUpload() { var form = document.getElementById('uploadForm'); form.action="XXX.do?"; form.submit(); }

表單上傳文件如何不跳轉(上傳文件時用form.submit提交的時候在IE中報拒絕訪問的錯誤)1

表單上傳文件如何不跳轉(上傳文件時用form.submit提交的時候在IE中報拒絕訪問的錯誤)2

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved