国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:50:07
字體:
來源:轉載
供稿:網(wǎng)友
在開發(fā)中,文件上傳必不可少但是它長得又丑、瀏覽的字樣不能換,一般會讓其隱藏點其他的標簽(圖片等)來時實現(xiàn)選擇文件上傳功能

在開發(fā)中,文件上傳必不可少,<input type="file" /> 是常用的上傳標簽,但是它長得又丑、瀏覽的字樣不能換,我們一般會用讓,<input type="file" />隱藏,點其他的標簽(圖片等)來時實現(xiàn)選擇文件上傳功能。
看代碼:

復制代碼 代碼如下:


<!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 實現(xiàn) input file 文件上傳 /></title>
</head>
<body>
<form runat="server" method="post" enctype="multipart/form-data">
<div>
<div>選擇圖片</div>
</div>
<div>
<input type="file" />
</div>
</form>
</body>
</html>
<script type="text/javascript">
jQuery(function () {
$("._box").click(function () {
$("#_f").click();
});
});
</script>


但是在火狐和一些高版本的瀏覽器中后臺可以獲取到要上傳的文件,一些低版本的瀏覽器壓根就獲取不到Request.Files
查閱資料,有說改成這樣的:

復制代碼 代碼如下:


<!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 實現(xiàn) input file 文件上傳 /></title>
</head>
<body>
<form runat="server" method="post" enctype="multipart/form-data">
<div>
<div>選擇圖片</div>
</div>
<div>
<input type="file" />
</div>
</form>
</body>
</html>
<script type="text/javascript">
jQuery(function () {
$("._box").click(function () {
return $("#_f").click();
});
});
</script>


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

復制代碼 代碼如下:


<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 實現(xiàn) input file 文件上傳 /></title>
</head>
<body>
<form runat="server" method="post" enctype="multipart/form-data">
<div>
<div>
<input type="file" />
選擇圖片
</div>
</div>
</form>
</body>
</html>


我們點擊選擇圖片實際點擊了不透明度為0的 <input type="file" />,單用戶切看不到 <input type="file" />后臺亦可以獲取到要上傳的文件了。
ok
總結:
用一個不透明度為0的 <input type="file" />蓋在要用戶可見的標簽(或圖片等)上,讓用戶點擊。
用 width height line-height font-size 來控制<input type="file" />右側瀏覽按鈕的大小。
用 left top (right 、 bottum)來控制<input type="file" />右側瀏覽按鈕的位置,可以設置為負值。
用z-index來設置它們的層覆蓋關系。
form 必須有enctype="multipart/form-data"標記才能上傳文件
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 夹江县| 甘孜县| 象州县| 南郑县| 都匀市| 交城县| 黄大仙区| 获嘉县| 巨鹿县| 准格尔旗| 成武县| 日喀则市| 东丰县| 台安县| 和林格尔县| 平遥县| 奉化市| 奉贤区| 赤壁市| 宜宾县| 云梦县| 定襄县| 敖汉旗| 本溪市| 通辽市| 武川县| 丰台区| 张家口市| 舟山市| 邵武市| 乳源| 临安市| 定州市| 张家界市| 资源县| 龙里县| 渝中区| 苏尼特左旗| 历史| 象州县| 汝城县|