zoukankan      html  css  js  c++  java
  • 使IE7下文件上传控件的文件路径不可编辑的方法小结

        常规的Web应用程序中涉及到文件上传的部分都不可避免地会使用到<input type="file"/>控件,在上传文件的时候通过点击“浏览”按钮,在弹出的文件选择对话框中选择本地要上传的文件。当然,如果你已经知道要上传的文件的本地路径,也可以复制路径到控件的输入框中(例如要选择的文件的路径特别长)。这就存在一个问题,如果你所复制的文件路径根本不存在,那么上传的时候就无法正确获取到文件,而且在javascript中没有判断该控件所选择的文件是否存在的方法,涉及到浏览器的安全性,大多数时候我们是不能通过javascript来操作客户端本地文件的。

              其实在FireFox和IE8中已经对这个控件进行了相应的限制,如果你在这两种浏览器中查看带有<input type="file"/>标签的页面,会看到根本不允许用户直接输入,而只能通过点击“浏览”按钮来选择文件,这样就可以有效地确保用户所选文件的合法性。但是在IE7和一些低版本的浏览器中仍然是可以输入的,这个时候就需要对这个控件进行一些限制,下面是可以采用的方法:

    1. 使用contenteditable属性

          使用该属性可以有效地限制用户在<input type="file"/>控件中手动输入内容,而只能通过文件选择对话框选择文件。

     Html代码

    <input type="file" id="file1" contenteditable="false" />  
     

    2. 替代法

          使用隐藏的<input type="file"/>控件,然后用一个只读的文本框和一个按钮来模拟<input type="file"/>的功能。

     Html代码

    <input type="file" name="file" onpropertychange="file1.value=this.value" style=display:none/> 
    <input type="text" name="file1" readonly/>
    <input type="button" value="浏览" id="button1" name="button1" onclick="file.click()"/>  
     
    3. 使用脚本事件限制控件输入

          将<input type="file"/>控件的鼠标右键菜单、按键事件限制住,不让用户有机会输入。

     Html代码

    <input type="file" onkeydown="return false" onkeyup="return false" oncontextmenu="return false">  


    用发现的眼光来看这个互联网,总有我们立脚的地方!——北纬28.33
  • 相关阅读:
    linux下后台执行shell脚本nohup
    notepad++常用命令
    dmidecode查看硬件信息
    CSV文件自动化(自定义参数)
    服务器数据恢复案例分享-硬盘掉线恢复
    DELL EqualLogic PS6100存储硬盘坏道数据恢复
    成功恢复某服务器丢失数据过程
    分析Linux raid6同步成raid5导致数据丢失的情况
    服务器RAID硬盘离线和数据库损坏数据恢复方法
    chkdsk 后数据丢失的恢复方法
  • 原文地址:https://www.cnblogs.com/aisini/p/2354485.html
Copyright © 2011-2022 走看看