有关js方面知识的整理(二)

1、用javascript判断上传文件的大小
第一种方法:是应用ActiveX控件的实现,例如:
<script type="text/javascript">
function getFileSize(filePath){
var fso = new ActiveXObject("Scripting.FileSystemObject");
alert("文件大小为:"+fso.GetFile(filePath).size);
}
</script>
<body>
<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value);">
</body>
这种方法可以实现,也容易被开发人员想到,但是唯一不足之处是有安全提示,当然把文件名改为.hta则会屏蔽掉安全提示,但很难被需求所取。不推荐,也不多说 .

第二种方法:在html标签中有一个不为一般开发人员“深”知的img标签,先来说下他有的属性:src,dynsrc,start,alt,controls,loop,loopdelay,hspace,vspace....还有一些常用的属性就不列出来了,在这里我们说一下"dynsrc"这个属性:dynsrc可以用来插入各种多媒体,格式可以是Wav、Avi、AIFF、AU、MP3、Ra、Ram等等。url为音频或视频文件及其路径,可以是相对路径或绝对路径。
示例:<img dynsrc="xxxx.mp3">
这样我们就可以根据dynsrc动态赋值任何类型文件的路径,在javascript中根据Image对象本身的fileSize属性来得到文件的大小。当然Image对象还有其他的几个属性,例如:fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters... , 代码如下:
<script type="text/javascript">
function getFileSize(filePath) {
var image=new Image();
image.dynsrc=filePath;
alert(image.fileSize);
}
</script>
<body>
<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value)">
</body>

经测试,得到文件大小,并未出现安全提示,推荐,没的说

本文来自: IT知道网(http://www.itwis.com) 详细出处参考:http://www.itwis.com/html/programme/javascript/20090903/5956.html

 

2、js复选框全选功能

<script>

/** 全选、取消全选  @author tanxm*/
var checkFlag = true;
function chooseAll(checkboxName) {
  var checkboxObj = document.getElementsByName(checkboxName);
  if (checkFlag) { //全选
    for (var i = 0; i < checkboxObj.length; i++) {
      if (checkboxObj[i] != null) {
        checkboxObj[i].checked = true;
      }
    }
    checkFlag = false;
  } else { //取消全选
    for (var i = 0; i < checkboxObj.length; i++) {
      if (checkboxObj[i] != null) {
        checkboxObj[i].checked = false;
      }
    }
    checkFlag = true;
  }
}

  </script>

 

 

jsp部分:

 

 <c:forEach items="${personList}" var="free">
      <tr>
       <td width="30%" bgcolor="#ffffff" class="STYLE6"><div align="right"><span class="STYLE10">

      <input type="checkbox" style= "width:100px" id=checkAry name="checkAry" value="${free.personID}"/>
       </span></div></td>

     </tr>

 </c:forEach>

 

 

<input type="checkbox" onclick="chooseAll('checkAry')" value="全选"/>

 

3.    js 获取时间

  window.onload = function(){  //页面加载时出发的事件
displayTime1();
  }

 

function displayTime1(){
 var today = new Date(); // 定义日期对象
 var hear = today.getFullYear();  
 var months = today.getMonth()+1;
 var days = today.getDate();
 var hours = today.getHours();
 var minutes = today.getMinutes();
 var seconds = today.getSeconds();
 // 从日期对象中中获得时间信息
 minutes = fixTime(minutes);
 seconds = fixTime(seconds); // 引入fixTime()函数,使分和秒可以正常显示,对于小于10的数字则在该数字前加一个0
 //将时间字符串组合在一起并写出
 var the_time =hear+"年"+months+"月"+days+"日 ";
 document.getElementById("liveTime1").innerHTML = the_time; //把表格的值重新写一遍,相当于刷新时间
}
function fixTime(the_time){
 if (the_time <10){
  the_time = "0" + the_time;
 }
 return the_time;
}

 

jsp页面:   <tr><td>当前时间: <div id="liveTime1" class="timetitle"  align="left" ></div>

                        </td></t>

 

4、js获取客户端和服务器端的时间

 

 

 

5、  js 输入域中输入小写字母 转换成大写字母

 

    function toUpper(obj){
 obj.value= obj.value.toUpperCase();
 }

 

jsp页面: 

  <tr><td> <lable>航班号</lable>

         <td><input type="text" name="flightId" id="flightId" onkeyup="toUpper(this)"/></td>

  </tr>

6、 js 刷新页面:
window.onload = function(){
           flush();
}


//定时刷新界面  每三分钟刷新一次
function flush(){
 window.setTimeout( "window.location.reload() ",1000 * 60 * 3);
}

7、js的应用

 var apName = document.getElementById("apName").value;
                           var arrPieTitle = '<%=Title%>'+pointName+' '+'<%=arr%>';
                           var arrFlight = new Array();                          
                           var i = 0;
                           var arrPieFlightData = '<%=arrFlightSizeData%>';//arrFlightSizeData是一个字符串 格式  为:'34','25','56','76'
                           var depPieNameData = [<%=depPieXnameData%>];//['东航','国航','南航']   数组形式  这里的depPieXnameData=='东航','国航','南航'
                           arrFlight = arrPieFlightData.split(",");
                           for(i=0;i<depPieNameData.length;i++){
                             if(depPieNameData[i]==pointName){
                                break;
                           }
                        }
                           var Title = arrPieTitle + arrFlight[i];  

 

                                                             

 

你可能感兴趣的:(有关js方面知识的整理(二))