整理了一些JS的常用方法,包括验证啊,全选反选啊,ajax请求啊之类的,因为就是自己用的,写的都比较简单,就算抛砖引玉吧,喜欢的就拿去,不喜欢就拉到
Tools.min.js
文件
* 创建时间:2015-05-13
* 创建人:mction
*/
(function(){
var D = document;
var W = window;
var Postfix = '.PHP'
var _Id = function(Id){return document.getElementById(Id);};
Check = {
Input:function(Name,Value,Message){
var Input = $(":input[name='"+Name+"']");
if(Input.val() == Value){
Input.focus();
alert(Message);
return true;
}
return false;
},Phone:function(Name){
/*
* 联通号段:130/131/132/155/156/185/186/145/176;
* 电信号段:133/153/180/181/189/177;
* 移动号段:134/135/136/137/138/139/150/151/152/157/158/159/182/183/184/187/188/147/178
*/
var Reg = /^1(30|31|32|55|56|85|86|45|76|33|53|80|81|89|77|34|35|36|37|38|39|50|51|52|57|58|59|82|83|84|87|88|47|78)[0-9]{8}$/;
var Phone = $(":input[name='"+Name+"']");
if(!Reg.test(Phone.val())){
Phone.focus();
return true;
}
return false;
},Email:function(Name){
var Reg = /^[a-zA-Z0-9_]+@[a-z0-9]+\.[a-z]+$/;
var Email = $(":input[name='"+Name+"']");
if(!Reg.test(Email.val())){
Email.focus();
return true;
}
return false;
},UserName:function(UserNameMark,Message){
var Reg = /^[\d]{8}$/;
var UserName = $(":input[name='"+UserNameMark+"']");
if(!Reg.test(UserName.val())){
UserName.focus();
alert(Message);
return true;
}
return false;
},Password:function(Name){
var Reg = /^([A-Z]+)$|^([a-z]+)$|^([0-9]+)$|^([-`=\\\[\];',\.\/~!@#\$%\^&\*\(\)_+\|\{}:"<>\?]+)$|^.{0,5}$|^.{18,}$/
var Password = $(":input[name='"+Name+"']");
if(Reg.test(Password.val())){
Password.focus();
return true;
}else{
return false;
}
}
};
Member = {
Login:function(){
var UserName = $(":input[name='username']");
var PassWord = $(":input[name='password']");
if(Check.UserName("username","用户名格式不正确")){
return false;
}
if(Check.Input("password",'',"密码不能为空")){
return false;
}
$.ajax({
url:"/User/action"+Postfix,type:"POST",data:{
request:"Login",username:UserName.val(),password:PassWord.val()
},dataType:"json",success:function(Data){
if(Data.state != 200){
alert(Data.message);
return false;
}else{
location.href= "/User/member"+Postfix;
}
}
});
},logout:function(){
location.href = '/User/logout'+Postfix;
}
};
Public = {
Hi:function(){alert('hi');},Box_All_Sel:function(Class,AllChecked){//全选反选
var Input = D.getElementsByTagName("input");
var BoxList = [];
for(I =0;IBox" && Input[I].className == Class){
BoxList.push(Input[I]);
}
}
if(AllChecked){
for(I in BoxList){
BoxList[I].checked = true;
}
}else{
for(I in BoxList){
BoxList[I].checked = BoxList[I].checked ? false : true;
}
}
},After:function(New,Tar){
if(typeof Tar == 'string'){
var Parent = _Id(Tar);
}else{
var Parent = Tar;
}
if(Parent.parentNode == Parent){
Parent.parentNode.appendChild(New);
}else{
Parent.parentNode.insertBefore(New,Parent.nextSibling);
}
},Requests:function(O,Class){
//批量请求
//url.request.message.input.inputMessage.inputValue
var Data = $("."+ Class +":checked").serialize();
if(Data == ''){
alert("您没有选中任何项");
//alert(O.options[0].value);
O.value = O.options[0].value;
return;
}
var TempArr = O.value.split('.');
if(!TempArr[0] || !TempArr[1]){
//验证URL及动作
alert("错误:缺少必须参数");
O.value = O.options[0].value;
return;
}
Data += "&request=" + TempArr[1];
var Message = "确认删除选中项吗?";
if(TempArr[2]){
//验证并设置提示消息
Message = TempArr[2];
}
if(confirm(Message)){
var Input = false;
if(TempArr[3]){
//验证并设置是否接收用户输入
Input = true;
}
if(Input == 'True'){
var InputVal = prompt(TempArr[4],TempArr[5]);
Data += "&input=" + InputVal;
}
$.ajax({
url:"./"+TempArr[0]+Postfix,type:'GET',data:Data,dataType:'json',async:false,success:function(Data){
alert(Data.message);
location.reload(true);
}
});
}
},Request : {//单次请求
Data : '',MetHod : '',DataType : '',Async : '',SetData:function(Options,MetHod,DataType,Async){
this.Data = Options;
this.MetHod = typeof MetHod == 'undefined' ? 'GET' : MetHod;
this.DataType = typeof DataType == 'undefined' ? 'json' : DataType;
this.Async = typeof Async == 'undefined' ? true : Async;
return this;
},Send:function(Url,Call,IM,Message){
if(!Message){
Message = "确认删除吗?";
}
if(typeof Call != 'function'){
Call = function(Data){
switch(this.dataType){
case 'text' :alert(Data);break;
default :alert(Data.message);break
}
location.reload(true);
}
}
var CF = true;
var CFM = true;
var LId;
if(typeof IM != 'undefined' && IM == false){CF = false}
if(CF && !confirm(Message)){CFM = false;}
if(CFM){
$.ajax({
url:Url,type:this.MetHod,data:this.Data,dataType:this.DataType,async:this.Async,beforeSend:function(O){LId = Public.Loading.Open("正在处理中");},success:Call,error:function(E,Info,EO){alert(E.statusText + ":" + E.responseText);},complete:function(O){Public.Loading.Close(LId);}
});
}
}
},Desc : {
DescId : '',Display:function(O,Message){
var Id = parseInt(Math.random() * 1000);
this.DescId = Id;
var Desc = D.createElement('description');
Desc.id = Id;
Desc.innerHTML = Message;
Desc.style.width = "200px";
Desc.style.border = "1px solid #dfdfdf";
Desc.style.backgroundColor = "#fff";
Desc.style.lineHeight = "normal";
Desc.style.position = "absolute";
Desc.style.top = O.offsetTop + 'px';
Desc.style.marginLeft = "5px";
Public.After(Desc,O);
O.setAttribute("onblur",'Public.Desc.Close()');
},Close:function(){
$("#"+this.DescId).remove();
}
},Options : {
File_Input:function(Obj){//添加文件选择框
var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
var ObjName = '';
for (var i = 0; i < 5; i++) {
ObjName += chars.charAt(Math.floor(Math.random() * chars.length));
}
var InputFile = D.createElement("input");
InputFile.type = "file";
InputFile.name = ObjName;
InputFile.accept = "image/*";
var A = D.createElement("a");
A.href = "javascript:;";
A.style.marginLeft = "300px";
A.innerHTML = "删除";
A.setAttribute("onclick",'$("div").remove("#'+ObjName+'")');
var Div = D.createElement("div");
Div.id = ObjName;
Div.style.padding = "5px";
Div.style.borderBottom = "1px solid #cccccc";
Public.After(Div,Obj);
_Id(ObjName).appendChild(InputFile);
_Id(ObjName).appendChild(A);
}
},Loading : {
WindowId:'',Open:function(Message){
var Id = parseInt(Math.random() * 1000);
this.WindowId = Id;
var Div = D.createElement("div");
Div.id = Id;
Div.style.width = "80%";
Div.style.height = "50px";
Div.style.backgroundColor = "#000";
Div.style.opacity = "0.5";
Div.style.borderRadius = "10px";
Div.style.position = "fixed";
Div.style.top = (W.innerHeight - 50) / 2 + "px";
Div.style.left = "10%";
var P = D.createElement("p");
P.style.textAlign = "center";
P.style.color = "#fff";
P.style.lineHeight = "50px";
P.style.height = "50px";
var Img = D.createElement('img');
Img.src = "/PHPs/Public/images/loading.gif";
Img.style.marginBottom = "-5px";
if(Message){
P.innerHTML = Message;
}else{
P.innerHTML = "正在处理中";
}
P.appendChild(Img);
D.getElementsByTagName("body")[0].appendChild(Div);
_Id(this.WindowId).appendChild(P);
return Id;
},Close:function(Id){
if(typeof Id != 'undefined' && Id != null){
D.getElementsByTagName("body")[0].removeChild(_Id(Id));
}else if(this.WindowId != ''){
D.getElementsByTagName("body")[0].removeChild(_Id(this.WindowId));
}
}
},Tabs : {
TabsNum : 1,TabListId : '',WindowId : '',New_Tabs:function(TabListId,WindowId,OpenUrl,PageTitle){
this.TabListId = TabListId;
this.WindowId = WindowId;
var IframeList = _Id(WindowId).getElementsByTagName("iframe");
//alert(Iframe.length);
for(I = 0;I < IframeList.length;I ++){
IframeList[I].style.display = "none";
}
var TabList = _Id(TabListId).getElementsByTagName("li");
//alert(TabList);
for(I = 0;I < TabList.length;I ++){
TabList[I].className = "";
}
var Iframe = D.createElement("iframe");
Iframe.id = "IFR"+this.TabsNum;
Iframe.src = OpenUrl;
Iframe.frameborder = 0;
Iframe.width = "100%";
Iframe.height = "100%";
var A = D.createElement("a");
A.href = "javascript:;";
A.id = "IFA"+this.TabsNum;
A.innerHTML = PageTitle;
A.setAttribute("data-if",Iframe.id);
A.setAttribute("onclick","Public.Tabs.View(this)");
var Li = D.createElement("li");
Li.id = "IFL"+this.TabsNum;
Li.className = "on";
Li.setAttribute("data-if",Iframe.id);
var Close = D.createElement("a");
Close.href = "javascript:;";
Close.innerHTML = " x ";
Close.setAttribute("data-li",Li.id);
Close.setAttribute("data-if",Iframe.id);
Close.setAttribute("onclick","Public.Tabs.Close(this)");
this.TabsNum++;
_Id(TabListId).appendChild(Li);
_Id(Li.id).appendChild(A);
_Id(Li.id).appendChild(Close);
_Id(WindowId).appendChild(Iframe);
},View:function(O){
var IframeList = _Id(this.WindowId).getElementsByTagName("iframe");
for(I = 0;I < IframeList.length;I ++){
IframeList[I].style.display = "none";
}
var TabList = _Id(this.TabListId).getElementsByTagName("li");
for(I = 0;I < TabList.length;I ++){
TabList[I].className = "";
}
O.parentNode.className = "on";
_Id(O.getAttribute('data-if')).style.display = "block";
},Close:function(O){
var LiO = _Id(O.getAttribute("data-li"));
var IFO = _Id(O.getAttribute("data-if"));
if(LiO.nextElementSibling){
var DisPlayLi = LiO.nextElementSibling;
}else{
var TabList = _Id(this.TabListId).getElementsByTagName("li");
var DisPlayLi = TabList[TabList.length - 2];
}
if(IFO.nextElementSibling){
var DisPlayIF = IFO.nextElementSibling;
}else{
var IfList = _Id(this.WindowId).getElementsByTagName("iframe");
var DisPlayIF = _Id(IfList[IfList.length - 2].id);
}
LiO.parentNode.removeChild(LiO);
IFO.parentNode.removeChild(IFO);
DisPlayLi.className = "on";
DisPlayIF.style.display = "block";
}
}
};
})();
这些是JAVASCRIPT的基本知识,如果是新手的话,我觉得这些不够你们学习,你可以去找些资料完整的学习下JAVASCRIPT。
这些对于已经有一些JAVASCRIPT基础的朋友,可以先浏览下这些知识,或许其中有你已经遗忘的或者遗漏的,回忆下JAVASCRIPT对你后面继续深入学下AJAX有很大的帮助。
原文链接:https://www.f2er.com/js/52813.html