常用JavaScript(二)

本文介绍了如何使用JavaScript实现网页窗口最大化、禁用右键点击等功能,并提供了多种网页元素交互的方法,包括父窗体与子窗体间的数据传递、利用JavaScript控制表单元素等。

窗口最大化

None.gif < body onload = " window.resizeTo(window.screen.width - 4,window.screen.height-50);window.moveTo(-4,-4) " >  

禁止右键

ExpandedBlockStart.gif ContractedBlock.gif document.oncontextmenu  =   function ()  dot.gif 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"

//消除图像工具栏

None.gif < IMG  src ="mypicture.jpg"  temp_src ="mypicture.jpg"  HEIGHT ="100px"  WIDTH ="100px"  GALLERYIMG ="false" >   
None.gifor 
None.gif
< head >  
None.gif
< meta  http-equiv ="imagetoolbar"  content ="no" >  
None.gif
</ head >  
None.gif

//取得控件得绝对位置(1)

None.gif < script language = " javascript " >    < br  />
None.gif
function  getoffset(e)  < br  />
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {  <br />
InBlock.gif 
var t=e.offsetTop;  <br />
InBlock.gif 
var l=e.offsetLeft;  <br />
InBlock.gif 
while(e=e.offsetParent) <br />
ExpandedSubBlockStart.gifContractedSubBlock.gif 
dot.gif{  <br />
InBlock.gif  t
+=e.offsetTop;  <br />
InBlock.gif  l
+=e.offsetLeft;  <br />
ExpandedSubBlockEnd.gif }
  <br />
InBlock.gif 
var rec = new Array(1); <br />
InBlock.gif rec[
0]  = t; <br />
InBlock.gif rec[
1= l; <br />
InBlock.gif 
return rec <br />
ExpandedBlockEnd.gif}
   < br  />
None.gif
</ script >   < br  />
None.gif

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
//获得控件的绝对位置(2)
oRect = obj.getBoundingClientRect();
oRect.left
oRect.

ContractedBlock.gif ExpandedBlockStart.gif 下载文件
None.giffunction DownURL(strRemoteURL,strLocalURL) 
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gif 
try 
ExpandedSubBlockStart.gifContractedSubBlock.gif 
dot.gif
InBlock.gif  
var xmlHTTP=new ActiveXObject("Microsoft.XMLHTTP"); 
InBlock.gif  xmlHTTP.open(
"Get",strRemoteURL,false); 
InBlock.gif  xmlHTTP.send(); 
InBlock.gif  
var adodbStream=new ActiveXObject("ADODB.Stream"); 
InBlock.gif  adodbStream.Type
=1;//1=adTypeBinary 
InBlock.gif
  adodbStream.Open(); 
InBlock.gif  adodbStream.write(xmlHTTP.responseBody); 
InBlock.gif  adodbStream.SaveToFile(strLocalURL,
2); 
InBlock.gif  adodbStream.Close(); 
InBlock.gif  adodbStream
=null
InBlock.gif  xmlHTTP
=null
InBlock.gif   
ExpandedSubBlockEnd.gif }
 
InBlock.gif 
catch(e) 
ExpandedSubBlockStart.gifContractedSubBlock.gif 
dot.gif
InBlock.gif  window.confirm(
"下载URL出错!"); 
ExpandedSubBlockEnd.gif }
 
InBlock.gif 
//window.confirm("下载完成."); 
ExpandedBlockEnd.gif
}
 
None.gif

ContractedBlock.gif ExpandedBlockStart.gif 检查连接是否有效
None.giffunction getXML(URL)  
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gif 
var xmlhttp = new ActiveXObject("microsoft.xmlhttp"); 
InBlock.gif xmlhttp.Open(
"GET",URL, false);  
InBlock.gif 
try 
ExpandedSubBlockStart.gifContractedSubBlock.gif 
dot.gif{  
InBlock.gif  xmlhttp.Send(); 
ExpandedSubBlockEnd.gif }
 
ExpandedSubBlockStart.gifContractedSubBlock.gif 
catch(e)dot.gif{} 
InBlock.gif 
finally  
ExpandedSubBlockStart.gifContractedSubBlock.gif 
dot.gif
InBlock.gif  
var result = xmlhttp.responseText; 
InBlock.gif  
if(result)  
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif
InBlock.gif   
if(xmlhttp.Status==200
ExpandedSubBlockStart.gifContractedSubBlock.gif   
dot.gif
InBlock.gif    
return(true); 
ExpandedSubBlockEnd.gif   }
 
InBlock.gif   
else  
ExpandedSubBlockStart.gifContractedSubBlock.gif   
dot.gif
InBlock.gif    
return(false); 
ExpandedSubBlockEnd.gif   }
 
ExpandedSubBlockEnd.gif  }
 
InBlock.gif  
else  
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif
InBlock.gif   
return(false); 
ExpandedSubBlockEnd.gif  }
 
ExpandedSubBlockEnd.gif }
 
ExpandedBlockEnd.gif}

None.gif

ContractedBlock.gif ExpandedBlockStart.gif 检查网页是否存在
None.giffunction CheckURL(URL) 
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gif  
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
InBlock.gif  xmlhttp.Open(
"GET",URL, false); 
InBlock.gif  
try 
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{  
InBlock.gif    xmlhttp.Send();  
InBlock.gif    
var result = xmlhttp.status; 
ExpandedSubBlockEnd.gif  }
 
ExpandedSubBlockStart.gifContractedSubBlock.gif  
catch(e) dot.gif{return(false); } 
InBlock.gif  
if(result==200
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{  
InBlock.gif    
return true
ExpandedSubBlockEnd.gif  }
 
InBlock.gif  xmlhttp 
= null
InBlock.gif  
return false
ExpandedBlockEnd.gif}

None.gif


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

ContractedBlock.gif ExpandedBlockStart.gif 一些常用的JavaScript函数
None.gif//==========================================================================
None.gif//
None.gif//
  代码描述:将某个datagrid中模板的中checkbox置为相反状态
None.gif//
 
None.gif//
  传入参数:Form --- 当前页面ID            例:  xt_function_m
None.gif//
            CheckBox  --- 被选择的字符    例:  'CheckBoxSelect'
None.gif//
  
None.gif//
  返回参数:无
None.gif//
None.gif//
None.gif//
==========================================================================
None.gif
function SelectTitleAll(Form, CheckBox)            
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif    
var i
InBlock.gif    
var intLength = Form.elements.length            
InBlock.gif                            
InBlock.gif    
for (i = 0; i < intLength; i ++)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
var strType = Form.elements[i].type
InBlock.gif        
var strName = Form.elements[i].name
InBlock.gif
InBlock.gif        
if (strType == 'checkbox' && strName.lastIndexOf(CheckBox) == strName.length - CheckBox.length)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            Form.elements[i].checked 
= !Form.elements[i].checked;
ExpandedSubBlockEnd.gif        }
        
InBlock.gif        
ExpandedSubBlockEnd.gif    }
                
ExpandedBlockEnd.gif}

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

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

ExpandedSubBlockEnd.gif}

InBlock.gif
return rtnStr;
ExpandedBlockEnd.gif}

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

ExpandedSubBlockEnd.gif}

InBlock.gif
return rtnStr;
ExpandedBlockEnd.gif}

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

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

InBlock.gif
else
InBlock.gif
return false;
InBlock.gif
break;
InBlock.gif
case '<=':
InBlock.gif
if (Date1<=Date2)
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gif
return true;
ExpandedSubBlockEnd.gif}

InBlock.gif
else
InBlock.gif
return false;
InBlock.gif
break;
InBlock.gif
case '=':
InBlock.gif
if (Date1==Date2)
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gif
return true;
ExpandedSubBlockEnd.gif}

InBlock.gif
else
InBlock.gif
return false;
InBlock.gif
break;
ExpandedSubBlockEnd.gif}

ExpandedBlockEnd.gif}

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

None.gif
//
None.gif//
==========================================================================
None.gif
function QueryString(url,sName)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif
var sSource = url;
InBlock.gif
var sReturn = "";
InBlock.gif
var sQUS = "?";
InBlock.gif
var sAMP = "&";
InBlock.gif
var sEQ = "=";
InBlock.gif
var iPos;
InBlock.gif
InBlock.gifiPos 
= sSource.indexOf(sQUS);
InBlock.gif
InBlock.gif
var strQuery = sSource.substr(iPos, sSource.length - iPos);
InBlock.gif
var strLCQuery = strQuery.toLowerCase();
InBlock.gif
var strLCName = sName.toLowerCase();
InBlock.gif
InBlock.gifiPos 
= strLCQuery.indexOf(sQUS + strLCName + sEQ);
InBlock.gif
if (iPos == -1)
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gifiPos 
= strLCQuery.indexOf(sAMP + strLCName + sEQ);
InBlock.gif
if (iPos == -1)
InBlock.gif
return "";
ExpandedSubBlockEnd.gif}

InBlock.gif
InBlock.gifsReturn 
= strQuery.substr(iPos + sName.length + 2,strQuery.length-(iPos + sName.length + 2));
InBlock.gif
var iPosAMP = sReturn.indexOf(sAMP);
InBlock.gif
InBlock.gif
if (iPosAMP == -1)
InBlock.gif
return sReturn;
InBlock.gif
else
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gifsReturn 
= sReturn.substr(0, iPosAMP);
ExpandedSubBlockEnd.gif}

InBlock.gif
InBlock.gif
return sReturn;
ExpandedBlockEnd.gif}

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

ExpandedBlockEnd.gif}
5,在客户端javascript里操作服务端控件:
None.gif
this.Button1.Attributes.Add("onclick","return upchang();");
None.gif
None.gif
function upchang() 
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gif
var i=document.Form1.all['ListBox1'].selectedIndex;
InBlock.gif
if(i>0
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif
InBlock.gif
var val=document.Form1.all['ListBox1'].item(i-1).value; 
InBlock.gif
var txt=document.Form1.all['ListBox1'].item(i-1).text; 
InBlock.gif
InBlock.gifdocument.Form1.all['ListBox1'].item(i
-1).value=document.Form1.all['ListBox1'].item(i).value;
InBlock.gifdocument.Form1.all['ListBox1'].item(i
-1).text=document.Form1.all['ListBox1'].item(i).text;
InBlock.gif
InBlock.gifdocument.Form1.all['ListBox1'].item(i).value
=val; 
InBlock.gifdocument.Form1.all['ListBox1'].item(i).text
=txt; 
InBlock.gif
InBlock.gifdocument.Form1.all['ListBox1'].selectedIndex
=i-1;
ExpandedSubBlockEnd.gif}

ExpandedBlockEnd.gif}

None.gif
None.gif

 

转载于:https://www.cnblogs.com/hermes262/archive/2006/12/05/582843.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值