一、限制复选框最多选择几项
1 <h2>限制复选框最多选择几项</h2> 2 <input type="checkbox" name='forbidcheckSelects'>1<br /> 3 <input type="checkbox" name='forbidcheckSelects'>2<br /> 4 <input type="checkbox" name='forbidcheckSelects'>3<br /> 5 <input type="checkbox" name='forbidcheckSelects'>4<br /> 6 <p>最多选择3项</p>
1 window.onload = function(){
2 var _forbidcheckSelects = document.getElementsByName("forbidcheckSelects"),
3 //限制复选框最多选择3项
4 banNums = 3;
5 for(var i in _forbidcheckSelects){
6 _forbidcheckSelects[i].onclick = function(){
7 var __forbidcheckSelects = document.getElementsByName("forbidcheckSelects"),
8 selectNum = 0;
9 for(var i in __forbidcheckSelects){
10 if(i == "length") break;
11 if(__forbidcheckSelects[i].checked){
12 selectNum++;
13 }
14 }
15 //如果选中的复选项,超过限制最大数,将当前的选中选项设置为没选中false
16 if(selectNum > banNums) {
17 this.checked = false;
18 }
19
20 }
21
22 }
23 };
二、Checkbox全选、取消全选、反选
1 <h2>Checkbox全选、取消全选、反选</h2> 2 <p><input type="button" id='allSelect' value="全选"><input type="button" id='canelallSelect' value="取消全选"><input type="button" id='_select' value='反选'> </p> 3 <input type="checkbox" name='actionSelects'>1<br /> 4 <input type="checkbox" name='actionSelects'>2<br /> 5 <input type="checkbox" name='actionSelects'>3<br /> 6 <input type="checkbox" name='actionSelects'>4<br />
1 window.onload = function(){
2 var targets = document.getElementsByName("actionSelects"),
3 targetsLen = targets.length,
4 i = 0;
5
6 document.getElementById("allSelect").onclick = function(){
7 for(i = 0 ;i < targetsLen ; i ++){
8 targets[i].checked = true;
9 }
10 }
11
12 document.getElementById("canelallSelect").onclick = function(){
13 for(i = 0 ;i < targetsLen ; i ++){
14 targets[i].checked = false;
15 }
16 }
17
18 document.getElementById("_select").onclick = function(){
19 for(i = 0 ; i < targetsLen ; i ++){
20 targets[i].checked = !targets[i].checked;
21 }
22
23 }
24 };
三、JavaScript对上传文件相关操作
1 <h2>JavaScript对上传文件相关操作</h2> 2 <form id='fileUpload' enctype="multipart/form-data"> 3 <p><input type="file" name='file1' id='filedemo1'> </p> 4 <input type="button" id='addFileUpload' value="添加"> 5 <input type="button" id='clearFileUpload' value="清空"> 6 <input type="button" id='fileUploadSub' value="上传"> 7 </form>
1 window.onload = function(){
2 uploadCount = 1;//增加的文件“input”标示符
3
4 isIE = function(){//是否是ie
5 return document.all ? true : false;
6 }
7
8 getFileSize = function(_f){//获取文件大小
9 var _fileSize = 0;
10 if (this.isIE() && !_f.files) {
11 var filePath = _f.value;
12 var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
13
14 if(!fileSystem.FileExists(filePath)){
15 return 0;
16 }
17 var file = fileSystem.GetFile (filePath);
18 _fileSize = file.Size;
19 } else {
20 _fileSize = (_f.files[0] && _f.files[0].size) || 0;
21 }
22 return _fileSize;
23 }
24
25 fileType = function(_eForm, types){//限制上传文件的格式
26 var _elements = _eForm.elements,
27 _elementsLen = _elements.length
28 _ei = null,
29 _v = "",
30 _contentType = "",
31 i = 0;
32 for (; i < _elementsLen ; i++){
33 _ei = _elements[i];
34 if(_ei.type == "file"){
35 //var _i = _ei.value.lastIndexOf("\\");
36 _v = _ei.value,
37 _contentType = _v && _v.match(/^(.*)(\.)(.{1,8})$/)[3];
38
39 if(!_v || types.search(_contentType) != -1){//如果文件上传为空或者类型为限制类型则返回false
40 return false;
41 }
42 }
43 }
44 return true;
45 }
46
47 clearFile = function(_eForm){//清空input为file的ui
48 var _elements = _eForm.elements,
49 _elementsLen = _elements.length,
50 _ei = null,
51 i = 0;
52 for (; i < _elementsLen ; i++){
53 _ei = _elements[i];
54 (_ei.type == "file") && ((isIE() && (_ei.outerHTML = _ei.outerHTML)) || (_ei.value = ""));//如果为IE,利用其特性清空file文本数据,否则直接将value设置为空值
55 }
56 }
57
58 fileUpload = function(){//上传文件的相关业务
59 var _fileUpload = document.getElementById("fileUpload"),
60 _addFileUpload = document.getElementById("addFileUpload"),
61 _clearFileUpload = document.getElementById("clearFileUpload"),
62 _filedemo1 = document.getElementById("filedemo1"),
63 _fileUploadSub = document.getElementById("fileUploadSub");
64 _fileUploadSub.onclick =function(){
65 alert("测试获取文件大小:" + getFileSize(_filedemo1));//获取上传文件的大小
66 if(!fileType(_fileUpload, "text")){//限制上传文件的格式 ---参数(上传文件的表单对象, 被限制的格式)
67 return;
68 }
69 }
70
71 _clearFileUpload.onclick =function(){//清除上传文件的内容
72 clearFile(_fileUpload);
73 }
74
75 _addFileUpload.onclick =function(){//动态多文件上传,添加上传文件元素
76 uploadCount++;
77 var _input=document.createElement("input"),
78 _pE=document.createElement("p");
79 _input.name="filedemo"+uploadCount;
80 _input.id="filedemo"+uploadCount;
81 _input.type="file";
82 _pE.appendChild(_input);
83 _fileUpload.insertBefore(_pE,document.getElementById("addFileUpload"));
84 }
85 }
86 fileUpload();
87 };