⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.js

📁 网上购物系统
💻 JS
📖 第 1 页 / 共 2 页
字号:
 * 最后修改:
 * 修改人:
 */
function changeOption(sel1, sel2)
{
    var i, j, k, s2length;
    var b = 0;
    var indexarr = new Array();
    if (sel1.selectedIndex != -1) { /* 判断是否有选项被选择 */
        for (i=0; i<sel1.length; i++)
        //for(i=0,j=0;i<form.select1.length;i++)
        {
            //if(form.select1.selectedIndex==i) {
	        if (sel1.options[i].selected) {
	            //用上面两种方法都可以实现判断哪一个被选择了
        	    s2length = sel2.length;
				var flag = true;
				for (k = 0; k < s2length; k++) {
					/* 说明下拉框sel2中的某一项的值与选项sel1中的值相等,不再重复添加 */
					if (sel2.options[k].value == sel1.options[i].value) { 
						flag = false;
					    break;
					}
				}

                /*如果下拉框sel2中的某一项的值与下拉框sel1当前所选择的选项不相等,则在sel2中增加sel1中选中的选项*/
                if (flag) {
	                sel2.options[s2length] = new Option(sel1.options[i].text, sel1.options[i].value);
                    //把已选择的索引的值保存在数组中
				}

	            indexarr[b] = i; /* 只有某个选项被选中以后,才把它的索引号保存在数组中 */
      	        b++;
            }
			
        	//如果选择了几个选项,则b的值为几
        	//form.select2.options[j]=new Option(form.select1.options[form.select1.selectedIndex].value,form.select1.options[form.select1.se
            //j++;
        	//上面不能用j做为选项的索引,因为增加完选项(即函数执行完以后j就消失了,起不到保存的作用)
        	//而select2的长度是不会消失的
        	//document.write(j);
        }

        //清空已增加到右边的选项
        for (var c = 0; c < b; c++) {
            //alert("b:"+b);
            //alert(""+[indexarr[c]-c]+"");
            sel1.options[indexarr[c] - c] = null;
	       //上面一行中必须要减去c,
	       //假设选择了刘玉栋,许晴与苏瑾
    	   //则indexarr[0]=0,indexarr[1]=4,indexarr[2]=5,分别为所选择元素的索引
	       //即第1,5,6个选项
	       //当点增加按钮时,首先c=0;即时indexarr[c]-c=0-0=0,即索引为0的选项被清空,即第一个选项
    	   //由于循环是一项一项进行,当第一个选项清空以后,就只有5个选项了,此时许晴变成了第4个选项
	       //此时indexarr[c]-c=5-2=3,即索引为3的选项被清空,即第4个选项许晴被清空
	       //其它的以此类推
       }
    }
    else alert("请选择要添加或删除的选项!");
}

/**
 *功能:select下拉框中的选项向上移动函数,一次只能移动一个位置,至少需要两个选项才能执行
 *参数:需要进行移动的选项的全名称,如document.all.sel2或this.form.sel2(此是sel2必须在<form>...</form>中间才能够用此参数
 *返回值:无
 * 建立日期:2004-6-1
 * 作者:蔡华锋
 * 最后修改:
 * 修改人:
 */
function moveUp(form) {
    if (form.length <2 ) return; /* 至少需要两个选项才能执行 */
	for (var i = 0; i < form.length; i++) {
	    if (i > 0 && form.options[i].selected) {
		    var text  = form.options[i - 1].text;
			var value = form.options[i - 1].value;
		    form.options[i - 1] = new Option(form.options[i].text, form.options[i].value);
            form.options[i] = new Option(text, value);
			form.options[i - 1].selected = true; /* 把移到当前位置的选项选中 */
			break;
		}
	}
}

/**
 * 功能:select下拉框中的选项向下移动函数,一次只能移动一个位置,至少需要两个选项才能执行
 * 调用示例:onclick="moveDown(this.form.leftid)";无eval时参数不要用引号引起来,且form参数可以用简称
 * 参数:需要进行移动的选项的全名称,如document.all.sel2或this.form.sel2(此时sel2必须在<form>...</form>中间才能够用此参数
 * 返回值:无
 * 建立日期:2004-6-1
 * 作者:蔡华锋
 * 最后修改:
 * 修改人:
 */
function moveDown(form) {
    if (form.length < 2) return; /* 至少需要两个选项才能执行 */
	for (var i = 0; i < form.length; i++) {
	    if (i < form.length - 1 && form.options[i].selected) {
		    //alert("i:" + i);
		    var text  = form.options[i + 1].text;
			var value = form.options[i + 1].value;
		    form.options[i + 1] = new Option(form.options[i].text, form.options[i].value);
            form.options[i] = new Option(text, value);
			form.options[i + 1].selected = true; /* 把移到当前位置的选项选中 */
			break; /* 此处必须用break中止循环,否则会一直向下移动到最后一项 */
		}
	}
}

/**
 * 功能:得到某一下拉框中各个选项的值,并用","号把它们连接起来,并把它们保存在一个隐藏框,供提交时使用
        调用selectAll('document.frmcustom', 'rightid', 'hdnrightid');
        有eval时一般需要把参数用引号引起来,且form参数不能用简称
 * 参数:表单的名称:下拉框的名称
       :sel:下拉框的名称
	   :hdn:隐藏框的名称
 * 返回值:得到各选项的值
 * 建立日期:2004-6-1
 * 作者:蔡华锋
 * 最后修改:
 * 修改人:
 */
function selectAll(form, sel, hdn) {
	var whichSel;
    var tempID = "";
	var temp;
	whichSel = eval(form + "." + sel);
    for (var i = 0; i < whichSel.length; i++){  
        if (whichSel.options[i] != -1) {
            whichSel.options[i].selected = true;
            tempID += (tempID == "") ? whichSel.options[i].value : "," + whichSel.options[i].value; 
        }
		//alert("test");
	}
    var temp = eval(form + "." + hdn);
	temp.value = tempID
    tempID = "";
	//alert(tempID);
}

/**
 * 功能:得到同名或非同名(非同名时名称一般需要有一定的规律, 如module1,module2,module3等,这样好进行判断)
   调用示例:getCheckValue('document.form1', 'menu', 'savemenuid');
   有eval时一般需要把参数用引号引起来,且form参数不能用简称
 * 复选框的值,并用","号把它们连接起来,并把它们保存在一个隐藏框,供提交时使用
 * 参数:表单的名称:下拉框的名称
       :chk:选择框的名称
	   :hdn:隐藏框的名称
 * 返回值:得到所选择的选择框的值
 * 建立日期:2004-6-1
 * 作者:蔡华锋
 * 最后修改:
 * 修改人:
 */
function getCheckValue(form, chk, hdn) {
    var tempID = "";
	var temp;
	var element = eval(form + ".elements");
    for (var i=0; i < element.length; i++)
    {
        var e = element[i];
        if (e.checked && e.type.toLowerCase() == "checkbox" && e.name.indexOf(chk) != -1) {
			tempID += (tempID == "") ? e.value : "," + e.value; 
		}
    }
    var temp = eval(form + "." + hdn);
	temp.value = tempID
}

/**
 * 功能:全选指定名称的复选框,调用示例为onclick="checkAll('document.form1', 'menu', 'chkmenu')"
        调用示例:onclick="checkAll('document.form1', 'menu', 'chkmenu')";
        有eval时一般需要把参数用引号引起来,且form参数不能用简称
 * 参数:form:表单的名称
      :chk:选择框的名称
	  :obj:执行全选操作的对象
 * 返回值:无
 * 建立日期:2004-6-1
 * 作者:蔡华锋
 * 最后修改:
 * 修改人:
 */
function checkAll(form, chk, obj)
{
	var element = eval(form + ".elements");
    for (var i=0; i < element.length; i++)
    {
        var e = element[i];
        if (e.name != obj && e.type.toLowerCase() == "checkbox" && e.name.indexOf(chk) != -1) {
			var temp = eval(form + "." + obj)
            e.checked = temp.checked;
		}
    }
}

/**
 * 功能:设置某一个表单中hidden型的字段的值为指定的值,按照某一列进行排序(升序或降序)
   调用示例:setOrder('document.frmorder', 'field', 'Stat_Datetime', 'method');
   有eval时一般需要把参数用引号引起来,且form参数不能用简称
 * 复选框的值,并用","号把它们连接起来,并把它们保存在一个隐藏框,供提交时使用
 * 参数:   
   参数field1一般是要进行排序的字段的hidden表单的名称如field,value1为它的值,如Stat_Datetime
   参数field2一般是对指定字段的排序方法的hidden表单的名称,如method
 * 返回值:得到所选择的选择框的值
 * 建立日期:2004-6-1
 * 作者:蔡华锋
 * 最后修改:
 * 修改人:
 */
function setOrder(form, field1, value1, field2) 
{
	/*alert("test");*/
    var obj1;
	var obj2;
	var obj1 = eval(form + "." + field1);
	var obj2 = eval(form + "." + field2);
    obj1.value = value1;
	if (obj2.value == "DESC") {
		obj2.value = "ASC";
	} else {
		obj2.value = "DESC";
	}
	var objFrm = eval(form);
	objFrm.submit(); /* 提交表单 */
	/*document.frmorder.submit();
	alert("test2");*/
}

/**
 * 功能:根据文件路径得到文件名
 * 参数:文件全路径如d:\mysite\1.jpg
 * 返回值:得到"\"后的文件名,如1.jpg
 * 建立日期:2004-6-1
 * 作者:蔡华锋
 * 最后修改:
 * 修改人:
 */
function getFileName(fullPath)
{ 
	var temp;
    if (fullPath == "" || fullPath == null) return ""; 
    if (fullPath != ""){
	    var temp = fullPath.substring(fullPath.lastIndexOf("\\") + 1)
		//alert("temp:" + temp);
		return temp;
	}
    else
        return "";
}

/**
 * 功能:选择文件函数
 * 参数:form(需要得到值的表单名称), onclick="selectFile('document.frmmodule.menuurl.value')"
 * 返回值:无
 * 建立日期:2004-6-1
 * 作者:蔡华锋
 * 最后修改:
 * 修改人:
 */
function selectFile(form) {
	var newWin;
	newWin = window.open("about:blank", "winFile", "toolbar = 0, menubar=0, width = 300, height = 150");
	with (newWin.document) {
		writeln("<html>");
		writeln("<head>");
		writeln("<title>选择文件</title>");
		writeln("<link rel=\"stylesheet\" href=\"module.asp\" type=\"text/css\">");
		writeln("</head>");
		writeln("<body>");
		writeln("<form>");
		writeln("<input type = \"file\" name=\"file\">");
		writeln("<br><br>");
		writeln("<input type = \"button\" name = \"btnsel\" value = \"确定\" onclick = \"opener." + form + "= opener.getFileName(this.form.file.value);window.close();\" class = \"btn\">");
		writeln("<input type = \"button\" name = \"btncancel\" value = \"取消\" onclick=\"window.close()\" class = \"btn\">");
		writeln("</form>");
		writeln("</body>");
		writeln("</html>");
	}
	//alert(form);
	return;
}

/**
 * 功能:设置内容的可见与不可见
 * 参数:itemID(HTML元素的id值), onclick="selectFile('document.frmmodule.menuurl.value')"
 * 返回值:无
 * 建立日期:2004-6-1
 * 作者:蔡华锋
 * 最后修改:
 * 修改人:
 */
function setDisplay(itemId)
{
    //display=="none"表示不显示,=""表示显示
    if(itemId.style.display == "none")
    {  
        itemId.style.display = "";
    }
    else
    {
	   itemId.style.display = "none";
    }
}

/**
 * 功能:字体放大与缩小
 * 参数:字体大小的值,如12, 14, 16
 * 返回值:无
 * 建立日期:2004-6-1
 * 作者:蔡华锋
 * 最后修改:
 * 修改人:
 */
function doZoom(size)
{
    document.getElementById('zoom').style.fontSize = size + 'px';
}
	
/**
 * 功能:实现文章及其它内容的打印
 * 参数:无
 * 返回值:无
 * 建立日期:2004-6-1
 * 作者:蔡华锋
 * 最后修改:
 * 修改人:
 */
function doPrint(){
    var str = "<html>";
	var article;
	var strFontSize = '【<A href="javascript:doZoom(16)">大</A> <A href="javascript:doZoom(14)">中</A> <A href="javascript:doZoom(12)">小</A>】'
	var strdoPrint = "doPrint()";
	//var bgColor = document.bgColor;
	/* use fix white color */
	var bgColor = "#FFFFFF";
	var css;

	css="<style>"
	+"body{font-family:宋体}"
	+"td,.f12{font-size:14.8px}"
	+".f24 {font-size:24px;}"
	+".f14 {font-size:14px;}"
	+".title14 {font-size:14px;line-height:130%}"
	+".l17 {line-height:170%;}"
	+"</style>";
	str += css;
	str +=	'<meta http-equiv="content-type" content="text/html; charset=gb2312">';
	str +=	'<title>' + document.title + '</title>';
	str +=	"<body topmargin=5 leftmargin=5 marginheight=5 marginwidth=5 onLoad='window.print()' bgcolor='" + bgColor + "'>";
	str +=	"<center><table width=760 border=0 cellspacing=0 cellpadding=0><tr><td height=34 align=center><a href='javascript:history.back()'>返回</a> <a href='javascript:window.print()'>打印</a></td></tr></table>";
	str +=	"<table width=760 border=0 cellpadding=0 cellspacing=20><tr><td class='font14'>";
		
	article = document.getElementById('article').innerHTML;
	str += article;
	str += "<div align=center>" + window.location.href + "</div>";
	str +=	"</td></tr></table></center>";
	str +=	"</body></html>";
	document.write(str);
	document.close();
}
 
/**
 * 功能:用cookie实现颜色方案
 * 参数:无
 * 返回值:无
 * 建立日期:2004-6-1
 * 作者:蔡华锋
 * 最后修改:
 * 修改人:
 */
function RCk(name,dclr){
	var arg=name+"="
	var ck=document.cookie
	if (ck.indexOf(arg)!=-1){
		var vstr=ck.indexOf(arg)+arg.length
		if (ck.indexOf(";",vstr)==-1) var vend=ck.length
		else var vend=ck.indexOf(";",vstr)
		return ck.substring(vstr,vend)
	}else return dclr
}

/**
 * 功能:得到地址栏目url地址后的文件名
 *      如输入http://192.168.10.26:1234/for-online/html/200407/200407221710363.html
 *      则函数的返回值为200407221710363.html,即使文件后面带上参数,则返回值也不含有
 *      参数
 * 参数:无
 * 返回值:文件名
 * 建立日期:2004-8-4
 * 作者:蔡华锋
 * 最后修改:
 * 修改人:
 */
function getFilename()
{
    var filename = "";
    var url = "";
	var search = "";
	var pos1 = 0;
	var pos2 = 0;
    url = document.URL;
	var search = document.location.search;
	/* in url have not \ */
    if (url.indexOf("\\") == -1)
	{
	    pos1 = url.lastIndexOf("/");
	}
	else
	{
	    pos1 = url.lastIndexOf("\\");
	}

	/* in url have not ? */
    if (url.indexOf("?") == -1)
	{
	    pos2 = url.length;
	}
	else
	{
	    pos2 = url.lastIndexOf("?");
	}
    filename = url.substring(pos1 + 1, pos2);
    return filename;
}

⌨️ 快捷键说明

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