当前位置: 代码迷 >> JavaScript >> 惯用js函数
  详细解决方案

惯用js函数

热度:361   发布时间:2012-11-22 00:16:41.0
常用js函数

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;
}
}
  相关解决方案