JavaScript 常用的自定义方法
(1)在页面获取cookie
- //get value of cookie
- com.whuang.hsj.getCookie=function(cookieKey){
- var cookies = document.cookie ? document.cookie.split('; ') : [];
- for (var i = 0, l = cookies.length; i < l; i++) {
- var parts = cookies[i].split('=');
- if(parts && parts.length>1){
- if(parts[0]==cookieKey||com.whuang.hsj.trim(parts[0])==cookieKey){
- //username1=;
- return parts[1];
- }
- }
- }
- return '';
- } ;
应用场景:
- window.onload=function(){
- var loginName22=com.whuang.hsj.$$one("username");
- loginName22.focus();
- //cookie的key是'userEmail'
- username1=com.whuang.hsj.getCookie('userEmail');
- //alert("username1:"+username1);
- var issave222=com.whuang.hsj.$$one("issave");
- if(username1 && username1!='' && username1!=null &&username1!=undefined){
- loginName22.value=username1;
- issave222.checked=true;
- }else{
- issave222.checked=false;
- }
- }
(2)startWith和endWith
- com.whuang.hsj.startWith=function(str,regex){
- return str.indexOf(regex)==0;
- };
- com.whuang.hsj.startsWith=com.whuang.hsj.startWith;
- com.whuang.hsj.endWith=function(str,regex){
- return str.lastIndexOf(regex)==str.length-regex.length;
- };
- com.whuang.hsj.endsWith=com.whuang.hsj.endWith;
- com.whuang.hsj.endWithArray=function(str,array2){
- for ( var i = 0; i < array2.length; i++) {
- var arrOne = array2[i];
- if(com.whuang.hsj.endsWith(str,arrOne)){
- return true;
- }
- }
- return false;
- };
应用场景:上传图片时校验后缀名
- var suffix22=['jpg','png','gif','Jpeg'];
- if(!com.whuang.hsj.endWithArray(uploadFile.value,suffix22)){
- alert("后缀名不对");
- return false;
- }
(3)设置错误信息(取代alert)
- /***
- error message
- */
- com.whuang.hsj.setErrorMessage=function(obj,spanId,message,isBig){
- if(obj.focus){//if include focus method
- obj.focus();
- }
- var leaveMessageResultSpan;
- if (typeof spanId == 'string') {//if argument "spanId" just is a String
- leaveMessageResultSpan=com.whuang.hsj.$$id(spanId);
- }else{
- leaveMessageResultSpan=spanId;
- }
- var styleClass;
- if(isBig){
- styleClass='errormessageBig';
- }else{
- styleClass='errormessage';
- }
- // leaveMessageResultSpan.innerHTML="<span class='"+styleClass+"' >"+message+"</span>";
- leaveMessageResultSpan.innerHTML=message;
- leaveMessageResultSpan.className=styleClass;
- function cleanUp22(){
- leaveMessageResultSpan.innerHTML="";
- }
- setTimeout(cleanUp22,6000);
- };
应用场景:校验表单
- var username22=com.whuang.hsj.$$one("username");
- /*if(!com.whuang.hsj.isHasValue( username22.value)){
- username22.focus();
- leaveMessageResultSpan.innerHTML="<span class='errormessageBig' >请填写您的姓名.</span>";
- function cleanUp22(){
- leaveMessageResultSpan.innerHTML="";
- }
- setTimeout(cleanUp22,3000);
- return false;
- }*/
- var companyObj=com.whuang.hsj.$$one("company");
- if(!com.whuang.hsj.checkNullValue(companyObj,'leaveMessageResult','请填写您的单位名称.')){
- return ;
- }
- if(!com.whuang.hsj.checkNullValue(username22,'leaveMessageResult','请填写您的姓名.')){
- return ;
- }
- var phoneObj=com.whuang.hsj.$$one("email");
- if(!com.whuang.hsj.checkNullValue(phoneObj,'leaveMessageResult','请填写您的电话.')){
- return ;
- }
- var object22=com.whuang.hsj.$$one("object");
- if(!com.whuang.hsj.checkNullValue(object22,'leaveMessageResult','请填写留言主题.')){
- return ;
- }
- var content22=com.whuang.hsj.$$one("content");
- if(!com.whuang.hsj.checkNullValue(content22,'leaveMessageResult','请填写留言内容.')){
- return ;
- }
- if(content22.value.length<10){
- com.whuang.hsj.setErrorMessage(content22,"leaveMessageResult","你的留言内容太短了.");
- return;
- }
- if(content22.value.length>5000){
- com.whuang.hsj.setErrorMessage(content22,"leaveMessageResult","你的留言内容太长了.");
- return;
- }
错误信息过6秒钟会自动消失
(4)动态增加下拉框
- function showProductSmallClass(osType,smallId,projectPath)
- {
- var abc44=function (obj) {
- // alert(obj);
- var jsonObj2=eval("("+obj+")");
- //alert(obj)
- var productSmallClass_div_id= com.whuang.hsj.$$id("productSmallClass_div_id");
- var html="<select name='smallClass.id'>";
- html+="<option value=\'-1\' text=\'--请选择--\' >--请选择--</option>";
- for(osvId in jsonObj2){
- //alert(osvId);
- var osvVersion=jsonObj2[osvId];
- html+="<option ";
- if(smallId&&smallId!=undefined && smallId!='' && smallId==osvId){
- html+="selected=\"selected\" ";
- }
- html+=" value=\'"+osvId+"\' text=\'"+osvVersion+"\' id='productSmallClass_"+osvId+"\'>";
- html+=osvVersion+"</option>";
- }
- html+="</select>";
- productSmallClass_div_id.innerHTML=html;
- };
- if(projectPath.lastIndexOf('/')!=projectPath.length-1){
- projectPath=projectPath+"/";
- }
- var url2=projectPath+"productSmallClass/json";
- //alert(url2);
- var xmlhw5=new XMLHttpHuangWei(url2, "productItemclassId="+osType,abc44);
- xmlhw5.XMLGetMethod();
- }
(5)动态增加一个按钮,并指定click响应事件
- com.whuang.hsj.addButton = function(parent22, onClickMethod) {
- var newInput = document.createElement("input");
- newInput.type = "button";
- buttonTd.appendChild(newInput);
- newInput.onclick = onClickMethod;
- return newInput;
- };
(6)通过name获取单个对象
- /***
- * if is radio ,please use com.whuang.hsj.$$arr
- * @param name22
- * @returns
- */
- com.whuang.hsj.$$one = function(name22) {
- if (com.whuang.hsj.isHasValue(name22)) {
- var names222=document.getElementsByName(name22);
- //alert("names222:"+names222);
- //alert("typeof:"+(typeof names222 ));
- var className=Object.prototype.toString.call(names222);
- var boolean_isArray;
- var ieHtmlCollection='[object HTMLCollection]';
- if(isIEtest)//if browser is IE
- {
- boolean_isArray=( className=== '[object Object]') ||(className=== ieHtmlCollection) ||names222 instanceof Array ;
- }else
- {
- boolean_isArray=( className=== '[object Array]') ||(className=== '[object NodeList]' )||(className==ieHtmlCollection)||names222 instanceof Array||names222 instanceof NodeList;
- }
- if(names222){
- if(boolean_isArray){
- return names222[0];
- }else{
- return names222;//why add [0] ??
- }
- }else{
- return "";
- }
- } else {
- return "";
- }
- };
应用场景
- var loginName22=com.whuang.hsj.$$one("username");
- if(!com.whuang.hsj.isHasValue(loginName22.value)){
- loginName22.focus();
- var li_info_id=com.whuang.hsj.$$id('li_info');
- li_info_id.innerHTML="<span class='errormessage'> 请填写用户名.</span>";
- function cleanUp22(){
- li_info_id.innerHTML="";
- }
- setTimeout(cleanUp22,4000);
- return false;
- }
(7) 弹出确认提示
- /**
- *
- * @param {Object}
- * msg
- */
- com.whuang.hsj.confirmDelete = function(msg) {
- if (!com.whuang.hsj.isHasValue(msg)) {
- msg = "Are you sure to delete ?";
- }
- var bl = confirm(msg);
- return bl;
- };
应用:
- <a style="color:#fff;"
- href="<%=path%>/news/deleteOne?id=${news.id }&fsdf=${currentTime}"
- onclick="return com.whuang.hsj.confirmDelete('确定要删除吗?')">删除</a>
(8)判断是否是数字
- /***
- * whether is digit,1.2 is allowed
- */
- com.whuang.hsj.isNumber=function(int22){
- if(!int22 || int22==undefined){
- return false;
- }
- if( int22.match(/^[\d\\.]+$/i)){
- return true;
- }else{
- return false;
- }
- };
- /***
- * whether is Integer,1.2 is not allowed
- */
- com.whuang.hsj.isInteger=function(int22){
- if(!int22 || int22==undefined){
- return false;
- }
- if( int22.match(/^[\d]+$/i)){
- return true;
- }else{
- return false;
- }
- };
应用:
- var qrcodeSizeObj=com.whuang.hsj.$$id('qrcodeSize');
- var qrcodeSizeint=qrcodeSizeObj.value;
- if(!com.whuang.hsj.isHasValue(qrcodeSizeint)){
- qrcodeSizeObj.focus();
- alert('请输入像素大小.');
- return ;
- }
- var isDigit=com.whuang.hsj.isInteger(qrcodeSizeint);
- if(!isDigit){
- qrcodeSizeObj.focus();
- alert('请输入数字[100-1000]');
- return;
- }
(9)contains方法
- contains=function(source,key2){
- var isDownload=(source.indexOf(key2)>-1);
- if(isDownload){
- return true;
- }else{
- return false;
- }
- }
(10)使用jQuery给div增加子元素
- var widthStr="400px";
- var heightStr="250px";
- var childElement="<img src=\""+imgSic+"\" width=\""+widthStr+"\" height=\""+heightStr+"\" />";
- // alert(childElement);
- $("#loadPanel").html(childElement);
(11)使用jQuery给div增加事件
- $("#loadPanel").click(function(){
- hideLoadPanel();
- });
(12)使用this获取元素本身
- <img src="a.jpg" height="160px" width="250px" onclick="viewBigPic(this,event)" />
- function viewBigPic(img333,event){
- imgSrc=img333.src;
- // alert(imgSrc);
- var moveTop22 = parseInt(img333.offsetHeight );
- var moveLeft22 = parseInt(img333.offsetLeft );
- // alert(moveTop22+" , "+moveLeft22);
- showLoadPanel(imgSrc,moveTop22,moveLeft22);
- }