高table操作.php

来自「php绿色服务器,让大家试用greenamp」· PHP 代码 · 共 424 行 · 第 1/2 页

PHP
424
字号
                break; 
                 
            case "TEXTAREA" : 
                    objTagList[m].setAttribute("value",strSetValue); 
                break; 
            case "SELECT" : 
                    objTagList[m].setAttribute("selectedIndex",0); 
                break; 
        }//end switch 
    }//end for 
}//end initTagValue(objTd) 

/* ------------------------------------------------------------------------------------------------------ 
*功  能:判断调用各个方法传入的参数是否正确,并得到错误信息,如正确,则错误信息为空 
*参  数:objFunction : 调用该函数的函数名 
            table :表格id或者表格对象 
  ------------------------------------------------------------------------------------------------------ */ 
function isParameterTrue(objFunction,table) 
{ 
    m_strError = ""; 
    var bolRet = true; 
    var intParaLen = objFunction.arguments.length; 
    if(intParaLen > 1) 
    { 
        m_strError +=  "对不起,传入该方法的参数至多只能为一个,即表格id或表格对象!\n"; 
        bolRet = false; 
    } 
    if(intParaLen == 1)    {setTable(table);} 
    if(typeof(m_objTable) == "undefined" || m_objTable == null) 
    { 
        m_strError += "目前您传入的参数不正确!\n您需传入表格id或者表格对象!\n"; 
        bolRet = false; 
    } 
    else 
    {//m_objTable为null时,使用m_objTable.tagName有错 
        if(m_objTable.tagName != "TABLE") 
        { 
            m_strError += "您设置的参数不是表格的id或表格对象!\n"; 
            bolRet = false; 
        } 
    } 
    return bolRet; 
}//end isParameterTrue 

// ---------------  当标签超出规定范围(A_TAG_NAME)时,弹出对话框 ---------------  // 

function alertTagName() 
{ 
    var strTagName = ""; 
    for(var m = 0;m < A_TAG_NAME.length;m ++) 
        strTagName = strTagName + A_TAG_NAME[m] + ","; 
    strTagName = strTagName.substring(0,strTagName.lastIndexOf(",")) + "."; 
    alert("对不起,目前支持的标签仅限:" + strTagName + "\n。请在JS文件中添加你想要支持的标签"); 
} 

// --------------------  获取表格总行数  -------------------- // 
function getRowCount()     
{ 
    return m_objTable.rows.length; 
} 

// --------------------  获取表格总列数  -------------------- // 
//取得最大列数 
function getCellCount()     
{ 
    return m_objTable.rows( getRowCount() - 1 ).cells.length; 
} 

// --------------------  获取某行的总列数  -------------------- // 

function getRowCellCount(intRowIndex)     
{ 
    return m_objTable.rows(intRowIndex).cells.length; 
} 

// --------------------  获取开始有标签的行号  -------------------- // 

//获取开始有标签(radio、text等)的行号,主要是为了得到标签命名与行号对应的关系 
//    标签命名规则为英文名称加上数字序号,序号从0开始 
function getStartRow() 
{ 
    var objTd; 
    var strHtml = ""; 
    for( var i = 0;i < getRowCount();i ++ ) 
    { 
        for( var j = 0;j < getCellCount();j ++ ) 
        { 
            if( getRowCellCount(i) <= j ) 
                break; 
            objTd = m_objTable.rows(i).cells(j); 
            strHtml = objTd.innerHTML; 
            for(var m = 0;m < A_TAG_NAME.length;m ++) 
            { 
                if( strHtml.indexOf(A_TAG_NAME[m]) != -1 ) 
                { 
                    return i;     
                } 
            } 
        } 
    } 
}//end getStartRow() 

// ----------------- 获得有标签的最后一行的索引 ----------------- // 

function getEndRow() 
{ 
    var intStart = getRowCount() - 1; 
    for( var i = intStart;i >= 0;i -- ) 
    { 
        for( var j = 0;j < getCellCount();j ++ ) 
        { 
            var strHtml = m_objTable.rows(i).cells(j).innerHTML; 
            for(var m = 0;m < A_TAG_NAME.length;m ++) 
            { 
                if( strHtml.indexOf(A_TAG_NAME[m]) != -1 ) 
                { 
                    return i;     
                } 
            } 
        } 
    } 
}//end getEndRow() 

// ------------------ 获取指定行的相关属性 ------------------ // 

//如各单元格背景色,对齐方式,以及html,放入全局数组中 
//如果有radio,则要替换其name属性 

function getRowProperty(intRowIndex) 
{ 
    var intCellCount    = getCellCount(); 
    m_aRowHtml            = new Array(intCellCount); 
    m_aAlign            = new Array(intCellCount); 
    m_aBgColor            = new Array(intCellCount); 
    m_aHeight            = new Array(intCellCount); 
    var objTd; 
    for(var i = 0;i < intCellCount;i ++) 
    { 
        objTd = m_objTable.rows(intRowIndex).cells(i); 
        m_aAlign[i]        = objTd.align; 
        m_aBgColor[i]    = objTd.bgColor; 
        m_aRowHtml[i]     = objTd.innerHTML; 
        m_aHeight[i]    = objTd.height; 
        if( m_aAlign[i] == "" ) 
            m_aAlign[i] = "left"; 
        if( m_aBgColor[i] == "") 
            m_aBgColor[i] = m_objTable.rows(intRowIndex).bgColor; 
        if( m_aHeight[i] == "") 
            m_aHeight[i] = m_objTable.rows(intRowIndex).height; 
    } 
}//end getRowProperty 

// ----------------------------- 获取新增行的html  ----------------------------- // 

function getNewRowHtml(intRowIndex) 
{ 
    var intCellCount    = getCellCount(); 
    var aStrRowHtml        = new Array(intCellCount); 
    var strOldName = "";                        //radio的起始属性 
    var strNewName = "";                        //给radio赋予的新name 
    var objTd; 
    var objTagList; 
    for( var i = 0;i < intCellCount;i ++ ) 
    { 
        var strHtml =  m_aRowHtml[i]; 
        if(strHtml.toLowerCase().indexOf("radio") != -1) 
        { 
            strNewName = getRandomName(); 
            objTd = m_objTable.rows(intRowIndex).cells(i); 
            objTagList = objTd.getElementsByTagName("INPUT"); 
            strOldName = objTagList[0].name; 
            while(strHtml.indexOf(strOldName) != -1 ) 
            { 
                strHtml = strHtml.replace(strOldName,strNewName); 
            } 
        } 
        aStrRowHtml[i] = strHtml; 
    } 
    return aStrRowHtml; 
} 

// -----------------  获取当前行的索引  ----------------- // 

function getRowIndex() 
{ 
    try 
    {         
        var Elm  =  event.srcElement; 
        while(Elm  &&  Elm.tagName  !=  "TR")   
        {   
            Elm  =  Elm.parentElement;   
        } 
        var intRowIndex = Elm.rowIndex; 
        return intRowIndex; 
    } 
    catch(ex)   
    {   
        alert("getRowIndex() Err  5001:\r\n"  +  ex);   
        m_strError += "getRowIndex() Error" + ex; 
    }   
}//end getRowIndex() method 


// -----------------  获取随机名称  ----------------- // 

function getRandomName() 
{ 
    var strRet = 0; 
    var d = new Date(); 
    strRet = d.getHours().toString() + d.getMinutes().toString() + d.getSeconds().toString() + d.getMilliseconds().toString(); 
    return strRet; 
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?