请选择 进入手机版 | 继续访问电脑版
收藏本站腾讯微博新浪微博
点点网模板设计大赛 phpchina

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 用悬赏 三天解决问题 解决访问速度慢 论坛支持农历生日 - 给官方提建议

论坛活动及任务 归纳网站最新活动 地图任务 邮件更新任务:保护帐号安全

积分换实物,来参加蓝色理想积分兑换吧! 联系招聘客服 蓝色理想帮你找工作! 万元奖励等你拿——点点网模板设计大赛

查看: 42152|回复: 22

[初级教程]更改文件上传框的样式  关闭 [复制链接]

我佛山人 楼主

我佛·山人

荣誉管理 手机认证 

帖子
2368
体力
22823
威望
85
居住地
北京市 朝阳区
发表于 2003-10-22 14:05:00 |显示全部楼层
先测试一下下面的代码看看:

 提示:您可以先修改部分代码再运行



可以看到,上传框带有两个控件:一个文本框和一个按钮。定义的样式对文本框全部生效,对于按钮,只有边框样式、字体大小和外观尺寸生效。看来直接用CSS定义它的外观是行不通的。

我们知道,大部分控件都有一个单击(click)事件句柄,上传框在单击"浏览..."按钮时会弹出"选择文件"对话框,如果我们自己模拟一个上传框:一个文本框(<input type="text">)和一个按钮(<input type="button">或<button>Text</button>),在单击自定义按钮时同时触发上传框的click事件让它弹出"选择文件"对话框... ...于是有:

 提示:您可以先修改部分代码再运行




在点击"上传文件"按钮时执行t_file.click(),当上传框的值有所改变时通过onchange事件句柄执行f_file.value=this.value,即保持真正的上传框与模拟的上传框的值同步更新,style="display:none"让真正的上传框隐藏,使模拟的文件上传框能以假乱真------问题似乎解决了,不过,把代码放到表单中测试一下看看:

 提示:您可以先修改部分代码再运行




点击"上传文件"按钮后再提交表单,可以看到,真正的上传框的内容被清空了,意思就是说,这样模拟出来的上传框没有任何意义,因为没办法上传文件(记得上期《电脑》报上有关于这个的文章,我想作者肯定没放到表单中测试过)。
之所以是这个结果,估计是因为微软出于安全方面的考虑,只有当鼠标真正单击在上传控件的按钮上浏览到的文件才可以上传(否则,只要你进入我的页面,我就可以随心所欲的得到你的私密文件)。看来此路又是不通,不过不要丧气,运行一下下面的代码看看:

 提示:您可以先修改部分代码再运行



直接看代码一时可能还明白不过来,可以把上传框的透明度增加到百分之三十再看看效果(或者看这里的讨论:http://bbs.blueidea.com/viewthread.php?tid=1118701):

 提示:您可以先修改部分代码再运行




提示:要更精确的控制透明上传框的X坐标,可把脚本部分修改一下:

 提示:您可以先修改部分代码再运行



P.S:0_0第一次写教程,有些解释可能不规范,不过有砖头就快扔,最好是拣金砖扔来,砸死也值
西部数码顶级域名注册商39元抢注!

在大连

钻石会员 手机认证 

帖子
3147
体力
7515
威望
0
居住地
河南省 新乡市
发表于 2003-10-22 15:44:00 |显示全部楼层
不错……
一直想修改上传里的“浏览”的字样
根据IE的默认语言不是太方便

这个教程正好用上
不再迷茫!
租服务器,上51IDC | [长沙]招聘:PHP经理10K/WEB前端6K/PHP开发6K

使用道具 举报

帖子
220
体力
292
威望
0
发表于 2003-10-22 15:55:00 |显示全部楼层

发表论坛

我该如何发表论坛,我没有看到这个功能呀,我只能做回复,我希望你可以答复我!
等俺有了钱,喝五粮液吃串串香,妈的想吃5毛的吃5毛的,想吃1块的吃1块的,五粮液买两瓶,喝一瓶,吐一瓶!

使用道具 举报

dyce 
帖子
26
体力
109
威望
0
发表于 2003-10-22 18:28:00 |显示全部楼层
hao !
尽最大的努力,做最好的事!

使用道具 举报

帖子
1374
体力
5472
威望
0
发表于 2003-10-23 08:32:00 |显示全部楼层
我上次在电脑报上也看到了这文章,总觉得有问题,呵呵

按文章的方法应该能自动上传文件,可是想想不可能啊,原来他真的是有错误的,这篇文章还被《计算机应用文摘》转载过。我一开始还兴奋了好一阵子呢
我真的好忙

使用道具 举报

帖子
22
体力
86
威望
0
发表于 2003-10-25 16:02:00 |显示全部楼层
是不是要有动态网页支持才可以真正地把文件上传上去??

使用道具 举报

帖子
8
体力
33
威望
0
发表于 2003-10-26 14:46:00 |显示全部楼层


谢天谢地

我终于找到了

太谢谢楼主了````````

使用道具 举报

我佛山人 楼主

我佛·山人

荣誉管理 手机认证 

帖子
2368
体力
22823
威望
85
居住地
北京市 朝阳区
发表于 2003-10-26 19:12:00 |显示全部楼层
tao924934在上个帖子中说
是不是要有动态网页支持才可以真正地把文件上传上去??


这不是问题所在

使用道具 举报

阿fire

银牌会员

帖子
833
体力
2315
威望
2
居住地
江西省 南昌市
发表于 2003-10-28 08:35:00 |显示全部楼层
最后一个脚本执行有点问题
重影
不过
好东西一定要顶
人生如烟,没事就烧

使用道具 举报

killua 

修罗雪姬

荣誉管理

帖子
8248
体力
28740
威望
4
居住地
山东省 聊城市
发表于 2003-10-30 17:11:00 |显示全部楼层
有个fire人在上个帖子中说
最后一个脚本执行有点问题
重影


的确有这个问题呢..

使用道具 举报

我佛山人 楼主

我佛·山人

荣誉管理 手机认证 

帖子
2368
体力
22823
威望
85
居住地
北京市 朝阳区
发表于 2003-10-30 18:10:00 |显示全部楼层
是为了让你们看清楚一点,把上传控件的透明度设为30%了
<input name="upload" type="file" style="position:absolute;filter:alpha(opacity=30);width:30px;" id="t_file" onchange="f_file.value=this.value" hidefocus>

使用道具 举报

帖子
15
体力
58
威望
0
发表于 2003-10-30 21:30:00 |显示全部楼层
楼上高人,请问SELECT框能否改呀,它的属性在CSS里是哪一项呀!

使用道具 举报

车仔 

蓝点小机车

荣誉管理 手机认证 

帖子
1495
体力
12429
威望
46
居住地
广东省 深圳市
发表于 2003-10-31 00:54:00 |显示全部楼层
我佛山人在上个帖子中说
  
点击"上传文件"按钮后再提交表单,可以看到,真正的上传框的内容被清空了,意思就是说,这样模拟出来的上传框没有任何意义,因为没办法上传文件。
  

不是很明白你句话的含义。
  1. <input type="submit" onclick="f_file.value=''">
复制代码

加个事件让文本框在提交的时候清空应该是可以的。看下面的代码。
不过能不能上传就不清楚了。因为看不到你上传的代码。


 提示:您可以先修改部分代码再运行



...今天心情好,开车去兜风... \\(*^*)//

使用道具 举报

myhyli 

卖坏梨

荣誉管理 手机认证 

帖子
11865
体力
53501
威望
220
居住地
浙江省 杭州市
发表于 2003-10-31 08:41:00 |显示全部楼层
你点了提交按钮就知道了,file框的内容会自动清空

使用道具 举报

车仔 

蓝点小机车

荣誉管理 手机认证 

帖子
1495
体力
12429
威望
46
居住地
广东省 深圳市
发表于 2003-10-31 11:31:00 |显示全部楼层
我还是不明白他和你的意思。
点了提交按钮,file框的内容会自动清空
这跟上传有什么关系
...今天心情好,开车去兜风... \\(*^*)//

使用道具 举报

帖子
1325
体力
9584
威望
9
发表于 2003-10-31 14:00:00 |显示全部楼层
清空了就不能上传了

使用道具 举报

帖子
6
体力
28
威望
0
发表于 2004-7-17 09:56:00 |显示全部楼层
不错不错,都是高手啊

使用道具 举报

帖子
135
体力
208
威望
0
发表于 2004-12-14 10:33:00 |显示全部楼层
好东西~

使用道具 举报

帖子
135
体力
208
威望
0
发表于 2005-2-12 14:40:00 |显示全部楼层
那这样一来是不是上传都要靠组件了?

使用道具 举报

金翅擘海

钻石会员

帖子
16559
体力
37158
威望
143
发表于 2005-2-12 14:48:00 |显示全部楼层
只是对文件上传框的样式做了修饰,但不能真正上传,即不能真正打开本地文件。

┏┯┓┏┯┓┏┯┓┏┯┓
┨┠┨┠┨┠
┗┷┛┗┷┛┗┷┛┗┷┛

使用道具 举报

伟仔 
帖子
799
体力
3107
威望
0
发表于 2005-3-30 17:21:00 |显示全部楼层
引用:
--------------------------------------------------------------------------------

点击"上传文件"按钮后再提交表单,可以看到,真正的上传框的内容被清空了,意思就是说,这样模拟出来的上传框没有任何意义,因为没办法上传文件。

--------------------------------------------------------------------------------
我也有這問題,請問在不用點擊瀏覽按扭和在file里寫入文件路徑的情況下,怎么模拟上傳?

使用道具 举报

经典会员

金牌会员

帖子
1238
体力
3352
威望
1
发表于 2005-11-16 21:22:00 |显示全部楼层
不知道个算不算老贴!
我想问的是。能不能把“浏览”两个字改了?
我想写英文版的时候,用”浏览“没有“view”来的好吧?
态度决定一切 那飞的...

使用道具 举报

子虚乌有

荣誉管理 手机认证 

帖子
8391
体力
26707
威望
187
居住地
江苏省 苏州市
发表于 2005-11-16 21:49:00 |显示全部楼层
应该强调过很多次了,不要顶老帖,对老帖有疑问,就开新帖,然后给个链接到老帖。

关于你的的问题,英文的操作系统自然会显示英文的browse

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|安久科技提供CDN|blueidea.com ( 京ICP备05002321号 )  

GMT+8, 2012-2-13 10:26 , Processed in 0.146728 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部