?? 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) {
//用上面兩種方法都可以實現(xiàn)判斷哪一個被選擇了
s2length = sel2.length;
var flag = true;
for (k = 0; k < s2length; k++) {
/* 說明下拉框sel2中的某一項的值與選項sel1中的值相等,不再重復(fù)添加 */
if (sel2.options[k].value == sel1.options[i].value) {
flag = false;
break;
}
}
/*如果下拉框sel2中的某一項的值與下拉框sel1當(dāng)前所選擇的選項不相等,則在sel2中增加sel1中選中的選項*/
if (flag) {
sel2.options[s2length] = new Option(sel1.options[i].text, sel1.options[i].value);
//把已選擇的索引的值保存在數(shù)組中
}
indexarr[b] = i; /* 只有某個選項被選中以后,才把它的索引號保存在數(shù)組中 */
b++;
}
//如果選擇了幾個選項,則b的值為幾
//form.select2.options[j]=new Option(form.select1.options[form.select1.selectedIndex].value,form.select1.options[form.select1.se
//j++;
//上面不能用j做為選項的索引,因為增加完選項(即函數(shù)執(zhí)行完以后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,
//假設(shè)選擇了劉玉棟,許晴與蘇瑾
//則indexarr[0]=0,indexarr[1]=4,indexarr[2]=5,分別為所選擇元素的索引
//即第1,5,6個選項
//當(dāng)點增加按鈕時,首先c=0;即時indexarr[c]-c=0-0=0,即索引為0的選項被清空,即第一個選項
//由于循環(huán)是一項一項進行,當(dāng)?shù)谝粋€選項清空以后,就只有5個選項了,此時許晴變成了第4個選項
//此時indexarr[c]-c=5-2=3,即索引為3的選項被清空,即第4個選項許晴被清空
//其它的以此類推
}
}
else alert("請選擇要添加或刪除的選項!");
}
/**
*功能:select下拉框中的選項向上移動函數(shù),一次只能移動一個位置,至少需要兩個選項才能執(zhí)行
*參數(shù):需要進行移動的選項的全名稱,如document.all.sel2或this.form.sel2(此是sel2必須在<form>...</form>中間才能夠用此參數(shù)
*返回值:無
* 建立日期:2004-6-1
* 作者:蔡華鋒
* 最后修改:
* 修改人:
*/
function moveUp(form) {
if (form.length <2 ) return; /* 至少需要兩個選項才能執(zhí)行 */
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; /* 把移到當(dāng)前位置的選項選中 */
break;
}
}
}
/**
* 功能:select下拉框中的選項向下移動函數(shù),一次只能移動一個位置,至少需要兩個選項才能執(zhí)行
* 調(diào)用示例:onclick="moveDown(this.form.leftid)";無eval時參數(shù)不要用引號引起來,且form參數(shù)可以用簡稱
* 參數(shù):需要進行移動的選項的全名稱,如document.all.sel2或this.form.sel2(此時sel2必須在<form>...</form>中間才能夠用此參數(shù)
* 返回值:無
* 建立日期:2004-6-1
* 作者:蔡華鋒
* 最后修改:
* 修改人:
*/
function moveDown(form) {
if (form.length < 2) return; /* 至少需要兩個選項才能執(zhí)行 */
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; /* 把移到當(dāng)前位置的選項選中 */
break; /* 此處必須用break中止循環(huán),否則會一直向下移動到最后一項 */
}
}
}
/**
* 功能:得到某一下拉框中各個選項的值,并用","號把它們連接起來,并把它們保存在一個隱藏框,供提交時使用
調(diào)用selectAll('document.frmcustom', 'rightid', 'hdnrightid');
有eval時一般需要把參數(shù)用引號引起來,且form參數(shù)不能用簡稱
* 參數(shù):表單的名稱:下拉框的名稱
: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);
}
/**
* 功能:得到同名或非同名(非同名時名稱一般需要有一定的規(guī)律, 如module1,module2,module3等,這樣好進行判斷)
調(diào)用示例:getCheckValue('document.form1', 'menu', 'savemenuid');
有eval時一般需要把參數(shù)用引號引起來,且form參數(shù)不能用簡稱
* 復(fù)選框的值,并用","號把它們連接起來,并把它們保存在一個隱藏框,供提交時使用
* 參數(shù):表單的名稱:下拉框的名稱
: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
}
/**
* 功能:全選指定名稱的復(fù)選框,調(diào)用示例為onclick="checkAll('document.form1', 'menu', 'chkmenu')"
調(diào)用示例:onclick="checkAll('document.form1', 'menu', 'chkmenu')";
有eval時一般需要把參數(shù)用引號引起來,且form參數(shù)不能用簡稱
* 參數(shù):form:表單的名稱
:chk:選擇框的名稱
:obj:執(zhí)行全選操作的對象
* 返回值:無
* 建立日期: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;
}
}
}
/**
* 功能:設(shè)置某一個表單中hidden型的字段的值為指定的值,按照某一列進行排序(升序或降序)
調(diào)用示例:setOrder('document.frmorder', 'field', 'Stat_Datetime', 'method');
有eval時一般需要把參數(shù)用引號引起來,且form參數(shù)不能用簡稱
* 復(fù)選框的值,并用","號把它們連接起來,并把它們保存在一個隱藏框,供提交時使用
* 參數(shù):
參數(shù)field1一般是要進行排序的字段的hidden表單的名稱如field,value1為它的值,如Stat_Datetime
參數(shù)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");*/
}
/**
* 功能:根據(jù)文件路徑得到文件名
* 參數(shù):文件全路徑如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 "";
}
/**
* 功能:選擇文件函數(shù)
* 參數(shù):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;
}
/**
* 功能:設(shè)置內(nèi)容的可見與不可見
* 參數(shù):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";
}
}
/**
* 功能:字體放大與縮小
* 參數(shù):字體大小的值,如12, 14, 16
* 返回值:無
* 建立日期:2004-6-1
* 作者:蔡華鋒
* 最后修改:
* 修改人:
*/
function doZoom(size)
{
document.getElementById('zoom').style.fontSize = size + 'px';
}
/**
* 功能:實現(xiàn)文章及其它內(nèi)容的打印
* 參數(shù):無
* 返回值:無
* 建立日期: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實現(xiàn)顏色方案
* 參數(shù):無
* 返回值:無
* 建立日期: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
* 則函數(shù)的返回值為200407221710363.html,即使文件后面帶上參數(shù),則返回值也不含有
* 參數(shù)
* 參數(shù):無
* 返回值:文件名
* 建立日期: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;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -