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

📄 ewmultipage.js

📁 AspMaker调用的自定义包
💻 JS
字号:
// JavaScript for Multiple Page Update
// (C) 2006 e.World Technology Ltd.
// v2.0.0 - 2006/08/05
// v2.0.1 - 2006/09/22

var EW_TABLE_CLASSNAME = "ewTable"; // Note: changed the class name as needed (2.0.1)

var ew_MultiPageElements = new Array();

function ew_MultiPageAddElement(elemid, pageIndex) {
	var item = new Array(2);
	item[0] = elemid;
	item[1] = pageIndex;
	ew_MultiPageElements.push(item);
}

function ew_InitMultiPage() {
	if (!(document.getElementById || document.all))
		return;
	ew_MaxPageIndex = 0;
	for (var i=0; i<ew_MultiPageElements.length; i++) {
		if (ew_MultiPageElements[i][1] > ew_MaxPageIndex)
			ew_MaxPageIndex = ew_MultiPageElements[i][1]; 
	}	
	ew_MinPageIndex = ew_MaxPageIndex;
	for (var i=0; i<ew_MultiPageElements.length; i++) {
		if (ew_MultiPageElements[i][1] < ew_MinPageIndex)
			ew_MinPageIndex = ew_MultiPageElements[i][1]; 
	}
	ew_NextPage();
	
	// if ASP.NET 
	if (typeof Page_ClientValidate == "function") {
    original_Page_ClientValidate = Page_ClientValidate; 
		Page_ClientValidate = function() { 
			var isValid;
			isValid = original_Page_ClientValidate();          
			if (!isValid) 
				ew_FocusInvalidElement();
			return isValid; 
		} 
	}	
}

function ew_PageHasElements(pageIndex) {
	for (var i=0; i<ew_MultiPageElements.length; i++) {
		if (ew_MultiPageElements[i][1] == pageIndex)
			return true;
	}
	return false;
}

function ew_NextPage() {
	if (!(document.getElementById || document.all))
		return;
	ew_EnableButtons(false);
	var hasElements = false;
	while (!hasElements && ew_PageIndex < ew_MaxPageIndex) {
		hasElements = ew_PageHasElements(++ew_PageIndex);
		if (hasElements)
			ew_ShowPage();
	}
	ew_UpdateButtons();
	ew_EnableButtons(true);
}

function ew_PrevPage() {
	if (!(document.getElementById || document.all))
		return;
	ew_EnableButtons(false);
	var hasElements = false;
	while (!hasElements && ew_PageIndex > ew_MinPageIndex) {
		hasElements = ew_PageHasElements(--ew_PageIndex);
		if (hasElements)
			ew_ShowPage();
	}
	ew_UpdateButtons();
	ew_EnableButtons(true);
}

function ew_ShowPage() {
	var fn;
	if (!fn && typeof ew_CreateEditor == 'function')
		fn = ew_CreateEditor;
	if (!fn && typeof EW_createEditor == 'function')
		fn = EW_createEditor; // for backward compatibility
	for (var i=0; i<ew_MultiPageElements.length; i++) {
		var row = ew_GetRowByElementId(ew_MultiPageElements[i][0]);		
		if (row) {
			row.style.display = (ew_MultiPageElements[i][1] == ew_PageIndex) ? '' : 'none';
			if (row.style.display == '' && fn)
				fn(ew_MultiPageElements[i][0]);
		}	
	}
}

function ew_UpdateButtons() {	
	if (ew_MaxPageIndex == ew_MinPageIndex)
		return;
	var elem = ew_GetElement('ewMultiPagePager');
	if (!elem)
		return;		
	var pager = "<table class='ewMultiPagePager'><tr>";
	if (ew_PageIndex <= ew_MinPageIndex) {
		pager = pager + "<td>" + ew_MultiPagePrev + "</td>";
	} else {
		pager = pager + "<td><a href='javascript:ew_PrevPage();'>" + ew_MultiPagePrev + "</a></td>";
	}
	for (var i=ew_MinPageIndex; i<=ew_MaxPageIndex; i++) {
		if (i == ew_PageIndex) {
			pager = pager + "<td>" + i + "</td>";
		} else {
			pager = pager + "<td><a href='javascript:ew_GotoPageByIndex(" + i + ");'>" + i + "</a></td>";
		}
	}  
	if (ew_PageIndex >= ew_MaxPageIndex) {
		pager = pager + "<td>" + ew_MultiPageNext + "</td>";
	} else {
		pager = pager + "<td><a href='javascript:ew_NextPage();'>" + ew_MultiPageNext + "</a></td>";
	}	
	pager = pager + "</tr><tr><td colspan=" + (ew_MaxPageIndex - ew_MinPageIndex + 3) +">";
	pager = pager + ew_MultiPagePage + " " + (ew_PageIndex) + " " + ew_MultiPageOf + " " + (ew_MaxPageIndex);
	pager = pager + "</td></tr></table>";
	elem.innerHTML = pager;
}

function ew_EnableButtons(bool) {
	var btn = ew_GetElement('btnAction'); 
	if (btn)
		btn.style.disabled = !bool;   
}

function ew_GetElement(elemid) { // 2.0.1
	var elem;
	if (document.getElementById) {
		elem = document.getElementById(elemid);
		if (elem) {
			return elem;		
		} else {
			elem = document.getElementsByName(elemid);
			if (elem && elem.length > 0)
				return elem[0];
		}
	}
	return null;
}

function ew_GetPageIndexByElementId(elemid) {
	var pageIndex = -1;
	for (var i=0; i<ew_MultiPageElements.length; i++) {
		if (ew_MultiPageElements[i][0] == elemid)
			return ew_MultiPageElements[i][1];
	}
	return pageIndex;
}

function ew_GotoPageByIndex(pageIndex) {
	if (pageIndex < ew_MinPageIndex || pageIndex > ew_MaxPageIndex)
		return; 
	ew_PageIndex = pageIndex - 1;
	ew_NextPage();
}

function ew_GotoPageByElement(elem) {
	var pageIndex;
	if (!elem || elem.id == "")
		return;	
	pageIndex = ew_GetPageIndexByElementId(elem.id);
	ew_GotoPageByIndex(pageIndex);
}

function ew_GetRowByElementId(elemid) { // 2.0.1
	var elem, tb;	
	elem = ew_GetElement(elemid);	
	if (!elem)
		return null;
	var isRow = false;		
	while (!isRow) {
		elem = ew_GetParentElement(elem);
		if (!elem) break;		
		if (elem.tagName == "TR") {
			tb = ew_GetParentElement(elem);
			if (tb) tb = ew_GetParentElement(tb);			
			isRow = (tb) && (tb.tagName == "TABLE") && (tb.className == EW_TABLE_CLASSNAME);
		}	
	}
	return (isRow) ? elem : null;	
}

function ew_GetParentElement(elem) { // 2.0.1
	if (!elem)
		return null;
	if (document.all) {		
		return elem.parentElement;
	}	else if (document.getElementById) {		
		return elem.parentNode;
	}	
}

function ew_IsElementVisible(elemid) {
	if (!(document.getElementById || document.all))
		return true;
	var elem = ew_GetElement(elemid);
	return (elem && elem.style.display == '');
}

// for ASP.NET
function ew_FocusInvalidElement() {	
 	for (var i=0; i<Page_Validators.length; i++) {
		if (!Page_Validators[i].isvalid) {
			var elem = ew_GetElement(Page_Validators[i].controltovalidate);
			ew_GotoPageByElement(elem);
			ew_SetFocus(elem);
			break;
		}
	}
}

⌨️ 快捷键说明

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