使用file控件時報“無法訪問”錯誤解決

   在項目中上傳文件時需要用到<input type="file">控件上傳,但是file自帶的瀏覽和文本框很難看,於是想通過點擊別的按鈕觸發file的click事件,但是會報“無法訪問”的錯誤。

   原因是:IE安全級別問題,防止上傳病毒文件。

   解決方案:通過將file設置爲透明的,再通過絕對定位,將file按鈕覆蓋在想要的效果樣式上,就可以實現了。

   代碼:

 <li style="text-align: left;position:relative;">
                    <button data-dojo-id="btnAdd" data-dojo-type="dijit/form/Button" style="margin-left: 10px;">增加標籤點</button>
                    <button data-dojo-id="btnEdit" data-dojo-type="dijit/form/Button" style="margin-left: 20px;">修改標籤點</button>
                    <button data-dojo-id="btnDel" data-dojo-type="dijit/form/Button" style="margin-left: 20px;">刪除標籤點</button>
                    <button data-dojo-id="btnToExcel" data-dojo-type="dijit/form/Button" style="margin-left: 20px;">導出標籤</button>
                     <button data-dojo-id="btnInExcel" data-dojo-type="dijit/form/Button" style="left: 400px;position:absolute">導入標籤</button> <div id='uploadLog'></div>
                    <form id='formFile' name='formFile' method="post" action='../Tags/InExcel' target='frameFile' enctype="multipart/form-data"  style="filter:alpha(Opacity=0);position:absolute;left: 400px;top:5px;">
                     
                                    <input type="file" id="fileUp" name='fileUp' style="width: 57px; border-top-style: none; border-right-style: none; border-left-style: none; border-bottom-style: none;"
 />
                                   @* <div id='uploadLog'></div>*@
                        <iframe id='frameFile' name='frameFile' style='display: none;' onload='uploadSuccess(this.contentWindow.document.body.innerHTML)'></iframe>
                    </form>
                </li>  

    因爲我的file是寫在form裏的,所以需要通過控制form來讓file與button按鈕重合。  在file中的style的作用爲控制file的textbox框隱藏,只留下瀏覽按鈕。然後通過form中style與導入標籤按鈕中style中的position定位來使目標重合,就可以實現了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章