📄 ewmultipage.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 + -