📄 common.js
字号:
* 最后修改:
* 修改人:
*/
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 + -