我常用的js

 JS操作select相关方法:新增 修改 删除 选中 清空 判断存在 等

1.判断select选项中 是否存在Value="paraValue"的Item
2.向select选项中 加入一个Item
3.从select选项中 删除一个Item
4.修改select选项中 value="paraValue"的text为"paraText"
5.设置select中text="paraText"的第一个Item为选中
6.设置select中value="paraValue"的Item为选中
7.得到select的当前选中项的value
8.得到select的当前选中项的text
9.得到select的当前选中项的Index
10.清空select的项
-------------------------------------------
//1.判断select选项中 是否存在Value="paraValue"的Item
function jsSelectIsExitItem(objSelect,objItemValue)
{
    
var isExit = false;
    
for(var i=0;i<objSelect.options.length;i++)
    
{
        
if(objSelect.options[i].value == objItemValue)
        
{
            isExit 
= true;
            
break;
        }

    }
      
    
return isExit;
}
 

//2.向select选项中 加入一个Item
function jsAddItemToSelect(objSelect,objItemText,objItemValue)
{
    
//判断是否存在
    if(jsSelectIsExitItem(objSelect,objItemValue))
    
{
        alert(
"该Item的Value值已经存在");
    }

    
else
    
{
        
var varItem = new Option(objItemText,objItemValue);
//      objSelect.options[objSelect.options.length] = varItem;
        objSelect.options.add(varItem);
        alert(
"成功加入");
    }
    
}


//3.从select选项中 删除一个Item
function jsRemoveItemFromSelect(objSelect,objItemValue)
{
    
//判断是否存在
    if(jsSelectIsExitItem(objSelect,objItemValue))
    
{
        
for(var i=0;i<objSelect.options.length;i++)
        
{
            
if(objSelect.options[i].value == objItemValue)
            
{
                objSelect.options.remove(i);
                
break;
            }

        }
        
        alert(
"成功删除");            
    }

    
else
    
{
        alert(
"该select中 不存在该项");
    }
    
}


//4.修改select选项中 value="paraValue"的text为"paraText"
function jsUpdateItemToSelect(objSelect,objItemText,objItemValue)
{
    
//判断是否存在
    if(jsSelectIsExitItem(objSelect,objItemValue))
    
{
        
for(var i=0;i<objSelect.options.length;i++)
        
{
            
if(objSelect.options[i].value == objItemValue)
            
{
                objSelect.options[i].text 
= objItemText;
                
break;
            }

        }
        
        alert(
"成功修改");            
    }

    
else
    
{
        alert(
"该select中 不存在该项");
    }
    
}

        
//5.设置select中text="paraText"的第一个Item为选中
function jsSelectItemByValue(objSelect,objItemText)
{    
    
//判断是否存在
    var isExit = false;
    
for(var i=0;i<objSelect.options.length;i++)
    
{
        
if(objSelect.options[i].text == objItemText)
        
{
            objSelect.options[i].selected 
= true;
            isExit 
= true;
            
break;
        }

    }
      
    
//Show出结果
    if(isExit)
    

        alert(
"成功选中");            
    }

    
else
    
{
        alert(
"该select中 不存在该项");
    }
    
}


//6.设置select中value="paraValue"的Item为选中
//
document.all.objSelect.value = objItemValue;

//7.得到select的当前选中项的value
//
var currSelectValue = document.all.objSelect.value;

//8.得到select的当前选中项的text
//
var currSelectText = document.all.objSelect.options[document.all.objSelect.selectedIndex].text;

//9.得到select的当前选中项的Index
//
var currSelectIndex = document.all.objSelect.selectedIndex;

//10.清空select的项
//
 document.all.objSelect.options.length = 0;


窗口最大化
<body onload="window.resizeTo(window.screen.width - 4,window.screen.height-50);window.moveTo(-4,-4)">
禁止右键
document.oncontextmenu = function() { return false;}

禁止保存 <noscript><iframe src="*.htm"></iframe></noscript>
禁止选取<body oncontextmenu="return false" ondragstart="return false" onselectstart ="return false"
onselect="document.selection.empty)" oncopy="document.selection.empty)" onbeforecopy=
"return false"onmouseup="document.selection.empty()>
禁止粘贴<input type=text onpaste="return false">

 根据宽度换行 style="word-break:break-all"

//消除图像工具栏
[/html]
<IMG SRC="mypicture.jpg" HEIGHT="100px" WIDTH="100px" GALLERYIMG="false">  
or 
<head> 
<meta http-equiv="imagetoolbar" content="no"> 
</head> 
[
/html]
//取得控件得绝对位置(1)
<script language="javascript">  <br />
function getoffset(e) <br />
{  <br />
 
var t=e.offsetTop;  <br />
 
var l=e.offsetLeft;  <br />
 
while(e=e.offsetParent) <br />
 
{  <br />
  t
+=e.offsetTop;  <br />
  l
+=e.offsetLeft;  <br />
 }
  <br />
 
var rec = new Array(1); <br />
 rec[
0]  = t; <br />
 rec[
1= l; <br />
 
return rec <br />
}
  <br />
</script> <br />
 [Ctrl
+A 全部选择 提示:你可先修改部分代码,再按运行] 
//获得控件的绝对位置(2) 


oRect 
= obj.getBoundingClientRect(); 
oRect.left 
oRect.

 
//下载文件 


function DownURL(strRemoteURL,strLocalURL) 

 
try 
 

  
var xmlHTTP=new ActiveXObject("Microsoft.XMLHTTP"); 
  xmlHTTP.open(
"Get",strRemoteURL,false); 
  xmlHTTP.send(); 
  
var adodbStream=new ActiveXObject("ADODB.Stream"); 
  adodbStream.Type
=1;//1=adTypeBinary 
  adodbStream.Open(); 
  adodbStream.write(xmlHTTP.responseBody); 
  adodbStream.SaveToFile(strLocalURL,
2); 
  adodbStream.Close(); 
  adodbStream
=null
  xmlHTTP
=null
   
 }
 
 
catch(e) 
 

  window.confirm(
"下载URL出错!"); 
 }
 
 
//window.confirm("下载完成."); 
}
 

 

//检验连接是否有效 


function getXML(URL)  

 
var xmlhttp = new ActiveXObject("microsoft.xmlhttp"); 
 xmlhttp.Open(
"GET",URL, false);  
 
try 
 
{  
  xmlhttp.Send(); 
 }
 
 
catch(e){} 
 
finally  
 

  
var result = xmlhttp.responseText; 
  
if(result)  
  

   
if(xmlhttp.Status==200
   

    
return(true); 
   }
 
   
else  
   

    
return(false); 
   }
 
  }
 
  
else  
  

   
return(false); 
  }
 
 }
 
}


 
 
//检查网页是否存在 


function CheckURL(URL) 

  
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
  xmlhttp.Open(
"GET",URL, false); 
  
try 
  
{  
    xmlhttp.Send();  
    
var result = xmlhttp.status; 
  }
 
  
catch(e) {return(false); } 
  
if(result==200
  
{  
    
return true
  }
 
  xmlhttp 
= null
  
return false
}


1 父子页面的值传递
两种方式:
     
1)在父页面可以通过pagename操作子页面。
       pagename 
= window.open('page ','name','width,height'); pagename.focus();
        在子页面可以通过parents.Label.innerText 
= '"value"'
     
2)通过模态对话框返回值。当执行模态对话框时,父页面将停止操作。
        在父页面
          
var result = showModalDialog(url,window,"dialogWidth:"+width+"px;dialogHeight:"+height+"px;help:no;scroll:no;status:no");
          alert(result)
        在子页面
            
<script language='javascript'>
                  window.returnValue 
= 'True';
                  window.close()
             
</script>
      
3) 通过vArguments将父窗体的值传递到子窗体
      
<script>
             
var obj = new Object();
             obj.name
="51js";
             window.showModalDialog   (
"modal.htm",obj,"dialogWidth=200px;dialogHeight=100px");
       
</script>
       modal.htm
        
<script>
            
var obj = window.dialogArguments
            alert(
"您传递的参数为:" + obj.name)
          
</script>
      
4) 子窗体使父窗体刷新
         opener.window.location.reload();
    
5) 避免提交时弹出另一个页面
   
<head>标签里加入<base target="_self">
    
6) 避免模式窗体不刷新
    Response.Expires 
= -1
    Response.ExpiresAbsolute 
= Now() - 1
    Response.cachecontrol 
= "no-cache"
2 将javascript值赋给session
     新建一个框架,不让他显示出来。在页面里
     document.all('djTmp').src
="djTmp.aspx?name=RoleName&value=" + document.all('cboRole').value
     在框架网页里
        Dim strName As String 
= Request.QueryString("name")
        Dim strValue As String 
= Request.QueryString("value")
        Session(strName) 
= strValue
3 服务器控件取js值。
    新建一隐藏控件。将其设为服务器端运行,这样通过脚本和服务器都可以访问。

参考:http:
//neozhu.cnblogs.com/archive/2005/07/28/201838.aspx
      http://www.phpx.com/happy/showthread.php?threadid=101722&goto=nextnewest
//==========================================================================
//
//
  代码描述:将某个datagrid中模板的中checkbox置为相反状态
//
 
//
  传入参数:Form --- 当前页面ID            例:  xt_function_m
//
            CheckBox  --- 被选择的字符    例:  'CheckBoxSelect'
//
  
//
  返回参数:无
//
//
//
==========================================================================
function SelectTitleAll(Form, CheckBox)            
{
    
var i
    
var intLength = Form.elements.length            
                            
    
for (i = 0; i < intLength; i ++)
    
{
        
var strType = Form.elements[i].type
        
var strName = Form.elements[i].name

        
if (strType == 'checkbox' && strName.lastIndexOf(CheckBox) == strName.length - CheckBox.length)
        
{
            Form.elements[i].checked 
= !Form.elements[i].checked;
        }
        
        
    }
                
}


//==========================================================================
//
//
  代码描述:将表单中所有的checkbox都设置为打勾状态
//
 
//
  传入参数:Form --- 当前页面ID            例:  xt_function_m
//
            CheckBox  --- 被选择的字符    例:  'CheckBoxSelect'
//
  
//
  返回参数:无
//
//
//
==========================================================================
function SelectAll(Form, CheckBox)            
{
    
var i
    
var intLength = Form.elements.length            
                            
    
for (i = 0; i < intLength; i ++)
    
{
        
var strType = Form.elements[i].type
                
        
if (strType == 'checkbox')
        
{
            Form.elements[i].checked 
= true;
        }
                    
    }
                
}


//==========================================================================
//
//
  代码描述:去除字符串左边空格
//
 
//
  传入参数:str --- 去除之前的字符串            例:  ‘ OK’
//
//
  
//
  返回参数:去出以后的字符串
//
//
//
==========================================================================
function jsLTrim(str)
{
    
var rtnStr;
    rtnStr
=""
    
for (var i = 0; i < str.length; i ++)
    
{
        
if (str.charAt(i) != " ")
        
{
            rtnStr 
= str.substr(i);
            
break;
        }

    }

    
return rtnStr;
}


//==========================================================================
//
//
  代码描述:去除字符串右边空格
//
 
//
  传入参数:str --- 去除之前的字符串            例:  ‘ OK’
//
//
  
//
  返回参数:去出以后的字符串
//
//
//
==========================================================================
function jsRTrim(str)
{
    
var rtnStr;
    rtnStr 
= ""
    
for (var i = str.length-1; i >= 0; i --)
    
{
        
if (str.charAt(i) != " ")
        
{
            rtnStr 
= str.substring(0,i+1);
            
break;
        }

    }

    
return rtnStr;
}


//==========================================================================
//
//
  代码描述:去除字符串两边空格
//
 
//
  传入参数:str --- 去除之前的字符串            例:  ‘ OK ’
//
//
  
//
  返回参数:去出以后的字符串
//
//
//
==========================================================================
function Trim(str)
{
    
return(jsLTrim(jsRTrim(str)));
}


//==========================================================================
//
//
  代码描述:将回车按键 转为 Tab按键
//
 
//
  传入参数:
//
//
  
//
  返回参数:
//
//
//
==========================================================================
function Key_EnterToTab()
{            
    
if(event.keyCode == 13)
    
{                
        event.keyCode 
= 9;
    }
                
}
 
//==========================================================================
//
//
  代码描述:判断日期的大小
//
 
//
  传入参数:        Date1      ---日期1                例:'2004-1-1'
//
  传入参数:        Date2        ---日期2                例:'2004-2-1'
//
  传入参数:        Compare    ---比较符号            例如 '>','<','='     
//
  
//
  返回参数:    bool--是否成立
//
//
==========================================================================
function Est_Date(Date1,Date2,Compare)
{
    
switch(Compare)
    
{
        
case '>':
            
if (Date1>Date2)
            
{
                
return true;
            }

            
else
                
return false;
            
break;
        
case '<=':
            
if (Date1<=Date2)
            
{
                
return true;
            }

            
else
                
return false;
            
break;
        
case '=':
            
if (Date1==Date2)
            
{
                
return true;
            }

            
else
                
return false;
            
break;
    }

}


//==========================================================================
//
//
  代码描述:判断日期的大小
//
 
//
  传入参数:        url                        例:www.witehouse.com?bs=over
//
  传入参数:        参数名称                例:bs
//
  返回参数:        参数值
//

//
//
==========================================================================
function QueryString(url,sName)
{
    
var sSource = url;
    
var sReturn = "";
    
var sQUS = "?";
    
var sAMP = "&";
    
var sEQ = "=";
    
var iPos;

    iPos 
= sSource.indexOf(sQUS);

    
var strQuery = sSource.substr(iPos, sSource.length - iPos);
    
var strLCQuery = strQuery.toLowerCase();
    
var strLCName = sName.toLowerCase();

    iPos 
= strLCQuery.indexOf(sQUS + strLCName + sEQ);
    
if (iPos == -1)
    
{
        iPos 
= strLCQuery.indexOf(sAMP + strLCName + sEQ);
        
if (iPos == -1)
        
return "";
    }


    sReturn 
= strQuery.substr(iPos + sName.length + 2,strQuery.length-(iPos + sName.length + 2));
    
var iPosAMP = sReturn.indexOf(sAMP);

    
if (iPosAMP == -1)
        
return sReturn;
    
else
    
{
        sReturn 
= sReturn.substr(0, iPosAMP);
    }


    
return sReturn;
}


//==========================================================================
//
//
  代码描述:判断多行文本框的是否超出字符
//
 
//
  传入参数:        txt                         例:form.alltxt 多行文本框对象
//
  传入参数:        maxlen                        例:30 允许最大的多行文本的长度
//
  返回参数:        无
//
//
//
==========================================================================
function JudTxtValue(txt,maxlen)
{
    
if (txt.value.length>maxlen)
    
{
        alert('文本框输入超出'
+maxlen+'个长度');
        txt.value
=txt.value.substr(0,maxlen);        
    }

}
5,在客户端javascript里操作服务端控件:
this.Button1.Attributes.Add("onclick","return upchang();");
 
function upchang() 

 
var i=document.Form1.all['ListBox1'].selectedIndex;
 
if(i>0
 

  
var val=document.Form1.all['ListBox1'].item(i-1).value; 
  
var txt=document.Form1.all['ListBox1'].item(i-1).text; 
 
  document.Form1.all['ListBox1'].item(i
-1).value=document.Form1.all['ListBox1'].item(i).value;
  document.Form1.all['ListBox1'].item(i
-1).text=document.Form1.all['ListBox1'].item(i).text;
 
  document.Form1.all['ListBox1'].item(i).value
=val; 
  document.Form1.all['ListBox1'].item(i).text
=txt; 
 
  document.Form1.all['ListBox1'].selectedIndex
=i-1;
 }

}

原文地址:https://www.cnblogs.com/ghd258/p/272214.html