欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js 實(shí)現(xiàn) input type="file" 文件上傳示例代碼

 更新時(shí)間:2013年08月07日 15:51:28   作者:  
在開發(fā)中,文件上傳必不可少但是它長(zhǎng)得又丑、瀏覽的字樣不能換,一般會(huì)讓其隱藏點(diǎn)其他的標(biāo)簽(圖片等)來時(shí)實(shí)現(xiàn)選擇文件上傳功能
在開發(fā)中,文件上傳必不可少,<input type="file" /> 是常用的上傳標(biāo)簽,但是它長(zhǎng)得又丑、瀏覽的字樣不能換,我們一般會(huì)用讓,<input type="file" />隱藏,點(diǎn)其他的標(biāo)簽(圖片等)來時(shí)實(shí)現(xiàn)選擇文件上傳功能。
看代碼:
復(fù)制代碼 代碼如下:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="js/jquery/jquery-1.8.2.min.js" type="text/javascript"></script>
<style type="text/css">
._box
{
width: 119px;
height: 37px;
background-color: #53AD3F;
background-image: url(images/bg.png);
background-repeat: no-repeat;
background-position: 0 0;
background-attachment: scroll;
line-height: 37px;
text-align: center;
color: white;
cursor: pointer;
}
.none
{
width: 0px;
height: 0px;
display: none;
}
</style>
<title>js 實(shí)現(xiàn) input file 文件上傳 /></title>
</head>
<body>
<form id="form1" runat="server" method="post" enctype="multipart/form-data">
<div>
<div class="_box">選擇圖片</div>
</div>
<div class="none">
<input type="file" name="_f" id="_f" />
</div>
</form>
</body>
</html>
<script type="text/javascript">
jQuery(function () {
$("._box").click(function () {
$("#_f").click();
});
});
</script>

但是在火狐和一些高版本的瀏覽器中后臺(tái)可以獲取到要上傳的文件,一些低版本的瀏覽器壓根就獲取不到Request.Files
查閱資料,有說改成這樣的:
復(fù)制代碼 代碼如下:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="js/jquery/jquery-1.8.2.min.js" type="text/javascript"></script>
<style type="text/css">
._box
{
width: 119px;
height: 37px;
background-color: #53AD3F;
background-image: url(images/bg.png);
background-repeat: no-repeat;
background-position: 0 0;
background-attachment: scroll;
line-height: 37px;
text-align: center;
color: white;
cursor: pointer;
}
.none
{
width: 0px;
height: 0px;
display: none;
}
</style>
<title>js 實(shí)現(xiàn) input file 文件上傳 /></title>
</head>
<body>
<form id="form1" runat="server" method="post" enctype="multipart/form-data">
<div>
<div class="_box">選擇圖片</div>
</div>
<div class="none">
<input type="file" name="_f" id="_f" />
</div>
</form>
</body>
</html>
<script type="text/javascript">
jQuery(function () {
$("._box").click(function () {
return $("#_f").click();
});
});
</script>

加了一個(gè)return關(guān)鍵字,兼容性提高了不少,但是有的瀏覽器還是不好用。
我們發(fā)現(xiàn)只有手動(dòng)點(diǎn)擊<input type="file" />后臺(tái)就一定能獲取到要上傳的文件
于是我們可以透明<input type="file" />
修改代碼如下:
復(fù)制代碼 代碼如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
._box
{
position: relative;
width: 119px;
height: 37px;
background-color: #53AD3F;
background-image: url(images/bg.png);
background-repeat: no-repeat;
background-position: 0 0;
background-attachment: scroll;
line-height: 37px;
text-align: center;
color: white;
cursor: pointer;
overflow: hidden;
z-index: 1;
}
._box input
{
position: absolute;
width: 119px;
height: 40px;
line-height: 40px;
font-size: 23px;
opacity: 0;
filter: "alpha(opacity=0)";
filter: alpha(opacity=0);
-moz-opacity: 0;
left: -5px;
top: -2px;
cursor: pointer;
z-index: 2;
}
</style>
<title>js 實(shí)現(xiàn) input file 文件上傳 /></title>
</head>
<body>
<form id="form1" runat="server" method="post" enctype="multipart/form-data">
<div>
<div class="_box">
<input type="file" name="_f" id="_f" />
選擇圖片
</div>
</div>
</form>
</body>
</html>

我們點(diǎn)擊選擇圖片實(shí)際點(diǎn)擊了不透明度為0的 <input type="file" />,單用戶切看不到 <input type="file" />后臺(tái)亦可以獲取到要上傳的文件了。
ok
總結(jié):
用一個(gè)不透明度為0的 <input type="file" />蓋在要用戶可見的標(biāo)簽(或圖片等)上,讓用戶點(diǎn)擊。
用 width height line-height font-size 來控制<input type="file" />右側(cè)瀏覽按鈕的大小。
用 left top (right 、 bottum)來控制<input type="file" />右側(cè)瀏覽按鈕的位置,可以設(shè)置為負(fù)值。
用z-index來設(shè)置它們的層覆蓋關(guān)系。
form 必須有enctype="multipart/form-data"標(biāo)記才能上傳文件

相關(guān)文章

  • JavaScript中的淺拷貝和深拷貝原理與實(shí)現(xiàn)淺析

    JavaScript中的淺拷貝和深拷貝原理與實(shí)現(xiàn)淺析

    這篇文章主要介紹了JavaScript中的淺拷貝和深拷貝原理與實(shí)現(xiàn),JavaScript 中的淺拷貝和深拷貝指的是在復(fù)制對(duì)象(包括對(duì)象、數(shù)組等)時(shí),是否只復(fù)制對(duì)象的引用地址或者在復(fù)制時(shí)創(chuàng)建一個(gè)新的對(duì)象
    2023-04-04
  • 小程序?qū)崿F(xiàn)跑馬燈效果

    小程序?qū)崿F(xiàn)跑馬燈效果

    這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)跑馬燈效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • javascript圖像處理—仿射變換深度理解

    javascript圖像處理—仿射變換深度理解

    上一篇文章,我們講解了圖像金字塔,這篇文章我們來了解仿射變換,仿射?任何仿射變換都可以轉(zhuǎn)換成,乘以一個(gè)矩陣(線性變化),再加上一個(gè)向量(平移變化),接下來詳細(xì)介紹,感興趣的朋友可以了解下
    2013-01-01
  • 標(biāo)題過長(zhǎng)使用javascript按字節(jié)截取字符串

    標(biāo)題過長(zhǎng)使用javascript按字節(jié)截取字符串

    在網(wǎng)頁(yè)展示中經(jīng)常會(huì)碰到,標(biāo)題過長(zhǎng),需要截取字符串,用CSS的實(shí)現(xiàn)的話各種兼容問題,下面為大家介紹下javascript如何按字節(jié)截取字符串
    2014-04-04
  • 原生js實(shí)現(xiàn)購(gòu)物車邏輯和功能

    原生js實(shí)現(xiàn)購(gòu)物車邏輯和功能

    這篇文章主要為大家詳細(xì)介紹了原生js實(shí)現(xiàn)購(gòu)物車邏輯和功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 微信小程序圖片選擇區(qū)域裁剪實(shí)現(xiàn)方法

    微信小程序圖片選擇區(qū)域裁剪實(shí)現(xiàn)方法

    本篇文章主要介紹了微信小程序圖片選擇區(qū)域屏裁剪實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • JavaScript仿支付寶密碼輸入框

    JavaScript仿支付寶密碼輸入框

    那么今天我就用JavaScript代碼來實(shí)現(xiàn)這個(gè)效果吧,那么首先介紹一下整個(gè)的思路,首先我們先將確定輸入密碼的位數(shù),我的需求是5位,那么就用一個(gè)div標(biāo)簽包住5個(gè)input標(biāo)簽
    2015-12-12
  • JavaScript運(yùn)動(dòng)減速效果實(shí)例分析

    JavaScript運(yùn)動(dòng)減速效果實(shí)例分析

    這篇文章主要介紹了JavaScript運(yùn)動(dòng)減速效果,模擬了物體做減速運(yùn)動(dòng)的效果,以兩個(gè)實(shí)例形式分析了javascript實(shí)現(xiàn)物體做減速運(yùn)動(dòng)的實(shí)現(xiàn)技巧,涉及javascript動(dòng)態(tài)操作頁(yè)面元素樣式及數(shù)學(xué)運(yùn)算的方法,非常簡(jiǎn)潔實(shí)用,需要的朋友可以參考下
    2015-08-08
  • JS注釋所產(chǎn)生的bug 即使注釋也會(huì)執(zhí)行

    JS注釋所產(chǎn)生的bug 即使注釋也會(huì)執(zhí)行

    寫js時(shí)出現(xiàn)個(gè)bug一直提示我JAVA類中的一個(gè)屬性沒有,可是明明注釋掉了,后來才知道,JS里即使注釋也會(huì)執(zhí)行
    2013-11-11
  • JavaScript實(shí)現(xiàn)的多個(gè)圖片廣告交替顯示效果代碼

    JavaScript實(shí)現(xiàn)的多個(gè)圖片廣告交替顯示效果代碼

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)的多個(gè)圖片廣告交替顯示效果代碼,涉及javascript數(shù)組遍歷及頁(yè)面元素動(dòng)態(tài)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09

最新評(píng)論