上善若水
愿倾其毕生之功,高扬.NET旗帜
1.判断IFRAME是否加载完成
由于页面过程中,需要对IFRAME中的页面进行控制!但是由于IFRAME页面是其他人完成的,只是知道它的一些变量!页面结构如下:
<mw:SplitterPanel ID="detailSplitterPanel" runat="server">
        
<iframe id="clxx" style="margin:5px 5px 5px 5px;height:100%; width:100%" frameBorder=0 scrolling="no" allowTransparency="true"></iframe> 
    
</mw:SplitterPanel>
这是如果在父页面的onload事件中直接document.frames["clxx"].document.getElementById("splitter_splitter").style.display = "none",IE会提示错误,这是因为IFRAME还没有加载完成,这时候直接引用变量肯定是不存在的,所以必须利用readyState和setTimeout()来共同实现这个目标
function setSplitterVisiblity()
{
    
if(window.frames["clxx"].document.readyState=="complete")   
        document.frames[
"clxx"].document.getElementById("splitter_splitter").style.display = "none";  
    
else   
        setTimeout(
"setSplitterVisiblity()",1000);      
}


window.attachEvent(
"onload",function()
                            
{       
                                document.frames[
"clxx"].location.href=$mappath("~/BlankWebView.aspx?WebView=BDTV1View&MenuID=02E141CC-720D-4986-9FC4-82A17CECE41F"); 
                                
                                setSplitterVisiblity();  
                            }
);

2.获取函数的动态参数信息
在开发过程中,经常需要对函数实行重载,Javascript本身没有提供这种功能,但是我们可以通过动态判断函数的个数,实现同一个函数处理不同的问题
比如在表格的加载过程中,填写前和填写后是完全同样的过程,唯一不同的是填写后的表格加载需要设置innerText值,这时候就可以通过Function的arguments属性来完成这个工作
function addBxbj(arr)
{    
    
if(addBxbj.arguments.length == 0)
    
{
        arr 
= new Array("",0,0,"");
    }

    
var tgt = document.getElementById("bxbj_details");

    
//名称
    var row = tgt.insertRow();
    
var cell = row.insertCell();
    
var obj = createInputText(150);
    obj.value 
= arr[0];
    cell.appendChild(obj);
    obj.focus();    
    
//估价
    cell = row.insertCell();
    obj 
= createInputText(60);
    obj.value 
= arr[1];
    cell.appendChild(obj);
    
//实际价格
    cell = row.insertCell();
    obj 
= createInputText(60);
    obj.value 
= arr[2];
    cell.appendChild(obj);
    
//删除
    cell = row.insertCell();
    obj 
= document.createElement("label");
    obj.innerText 
= " 增加 ";
    cell.appendChild(obj);
    obj.onclick 
= addBxbj;
    obj 
= document.createElement("label");
    obj.innerText 
= " 删除 ";
    obj.onclick 
= delSelectedRow;
    cell.appendChild(obj);
}


  3.从URL中获取参数值

 

function GetUrlParam( paramName )
{
    
var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)''i' ) ;
    
var oMatch = oRegex.exec( window.location.search ) ;
    
if ( oMatch && oMatch.length > 1 )
        
return oMatch[1] ;
    
else
        
return '' ;
}

 

4.对事件进行参数绑定

Code
posted on 2007-09-05 14:18  小兔快跑  阅读(1101)  评论(0编辑  收藏  举报