📄 ew.js
字号:
if (!(object_value.indexOf("@") > -1 && object_value.indexOf(".") > -1))
return false;
return true;
}
// GUID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
function EW_checkGUID(object_value) {
if (object_value.length == 0)
return true;
if (object_value.length != 38)
return false;
if (object_value.charAt(0)!="{")
return false;
if (object_value.charAt(37)!="}")
return false;
var hex_format = "0123456789abcdefABCDEF";
var check_char;
for (var i = 1; i < 37; i++) {
if ((i==9) || (i==14) || (i==19) || (i==24)) {
if (object_value.charAt(i)!="-")
return false;
} else {
check_char = hex_format.indexOf(object_value.charAt(i));
if (check_char < 0)
return false;
}
}
return true;
}
// Check file extension
function EW_checkfiletype(object_value) {
if (object_value.length == 0)
return true;
if (typeof EW_UploadAllowedFileExt == "undefined")
return true;
var fileTypes = EW_UploadAllowedFileExt.split(",");
var ext = object_value.substring(object_value.lastIndexOf(".")+1, object_value.length).toLowerCase();
for (var i=0; i < fileTypes.length; i++) {
if (fileTypes[i] == ext)
return true;
}
return false;
}
// Update a combobox with filter value
// object_value_array format
// object_value_array[n] = option value
// object_value_array[n+1] = option text 1
// object_value_array[n+2] = option text 2
// object_value_array[n+3] = option filter value
function EW_updatecombo(obj, object_value_array, filter_value) {
var value = (obj.selectedIndex > -1) ? obj.options[obj.selectedIndex].value : null;
for (var i = obj.length-1; i > 0; i--) {
obj.options[i] = null;
}
for (var j=0; j<object_value_array.length; j=j+4) {
if (object_value_array[j+3].toUpperCase() == filter_value.toUpperCase()) {
EW_newopt(obj, object_value_array[j], object_value_array[j+1], object_value_array[j+2]);
}
}
EW_selectopt(obj, value);
}
// Create combobox option
function EW_newopt(obj, value, text1, text2) {
var text = text1;
if (text2 != "")
text += EW_fieldSep + text2;
var optionName = new Option(text, value, false, false)
var length = obj.length;
obj.options[length] = optionName;
}
// Select combobox option
function EW_selectopt(obj, value) {
if (value != null) {
for (var i = obj.length-1; i>=0; i--) {
if (obj.options[i].value.toUpperCase() == value.toUpperCase()) {
obj.selectedIndex = i;
break;
}
}
}
}
// Get image width/height
function EW_getimagesize(file_object, width_object, height_object) {
if (navigator.appVersion.indexOf("MSIE") != -1) {
myimage = new Image();
myimage.onload = function () {
width_object.value = myimage.width; height_object.value = myimage.height;
}
myimage.src = file_object.value;
}
}
// Get Netscape Version
function getNNVersionNumber() {
if (navigator.appName == "Netscape") {
var appVer = parseFloat(navigator.appVersion);
if (appVer < 5) {
return appVer;
} else {
if (typeof navigator.vendorSub != "undefined")
return parseFloat(navigator.vendorSub);
}
}
return 0;
}
// Get Ctrl key for multiple column sort
function ewsort(e, url) {
var ctrlPressed = 0;
if (parseInt(navigator.appVersion) > 3) {
if (navigator.appName == "Netscape") {
var ua = navigator.userAgent;
var isFirefox = (ua != null && ua.indexOf("Firefox/") != -1);
if ((!isFirefox && getNNVersionNumber() >= 6) || isFirefox)
ctrlPressed = e.ctrlKey;
else
ctrlPressed = ((e.modifiers+32).toString(2).substring(3,6).charAt(1)=="1");
} else {
ctrlPressed = event.ctrlKey;
}
if (ctrlPressed) {
var newPage = "<scr" + "ipt language=\"JavaScript\">setTimeout('window.location.href=\"" + url + "&ctrl=1\"', 10);</scr" + "ipt>";
document.write(newPage);
document.close();
return false;
}
}
return true;
}
// Confirm Message
function ew_confirm(msg)
{
var agree=confirm(msg);
if (agree)
return true ;
else {
return false ;
}
}
// Confirm Delete Message
function ew_confirmdelete(msg)
{
var agree = confirm(msg);
if (agree)
return true ;
else {
ew_cleardelete(); // clear delete status
return false ;
}
}
// Set mouse over color
function ew_mouseover(row) {
row.mover = true; // mouse over
if (!row.selected) {
if (usecss)
row.className = rowmoverclass;
else
row.style.backgroundColor = rowmovercolor;
}
}
// Set mouse out color
function ew_mouseout(row) {
row.mover = false; // mouse out
if (!row.selected) {
ew_setcolor(row);
}
}
// Set row color
function ew_setcolor(row) {
if (row.selected) {
if (usecss)
row.className = rowselectedclass;
else
row.style.backgroundColor = rowselectedcolor;
}
else if (row.edit) {
if (usecss)
row.className = roweditclass;
else
row.style.backgroundColor = roweditcolor;
}
else if ((row.rowIndex-firstrowoffset)%2) {
if (usecss)
row.className = rowaltclass;
else
row.style.backgroundColor = rowaltcolor;
}
else {
if (usecss)
row.className = rowclass;
else
row.style.backgroundColor = rowcolor;
}
}
// Set selected row color
function ew_click(row) {
if (row.deleteclicked)
row.deleteclicked = false; // reset delete button/checkbox clicked
else {
var bselected = row.selected;
ew_clearselected(); // clear all other selected rows
if (!row.deleterow) row.selected = !bselected; // toggle
ew_setcolor(row);
}
}
// Clear selected rows color
function ew_clearselected() {
var table = document.getElementById(tablename);
for (var i = firstrowoffset; i < table.rows.length; i++) {
var thisrow = table.rows[i];
if (thisrow.selected && !thisrow.deleterow) {
thisrow.selected = false;
ew_setcolor(thisrow);
}
}
}
// Clear all row delete status
function ew_cleardelete() {
var table = document.getElementById(tablename);
for (var i = firstrowoffset; i < table.rows.length; i++) {
var thisrow = table.rows[i];
thisrow.deleterow = false;
}
}
// Click all delete button
function ew_clickall(chkbox) {
var table = document.getElementById(tablename);
for (var i = firstrowoffset; i < table.rows.length; i++) {
var thisrow = table.rows[i];
thisrow.selected = chkbox.checked;
thisrow.deleterow = chkbox.checked;
ew_setcolor(thisrow);
}
}
// Click single delete link
function ew_clickdelete() {
ew_clearselected();
var table = document.getElementById(tablename);
for (var i = firstrowoffset; i < table.rows.length; i++) {
var thisrow = table.rows[i];
if (thisrow.mover) {
thisrow.deleteclicked = true;
thisrow.deleterow = true;
thisrow.selected = true;
ew_setcolor(thisrow);
break;
}
}
}
// Click multi delete checkbox
function ew_clickmultidelete(chkbox) {
ew_clearselected();
var table = document.getElementById(tablename);
for (var i = firstrowoffset; i < table.rows.length; i++) {
var thisrow = table.rows[i];
if (thisrow.mover) {
thisrow.deleteclicked = true;
thisrow.deleterow = chkbox.checked;
thisrow.selected = chkbox.checked;
ew_setcolor(thisrow);
break;
}
}
}
// Create XMLHTTP
// Note: AJAX feature requires IE5.5+, FF1+, and NS6.2+
function EW_createXMLHttp() {
if (!(document.getElementsByTagName || document.all))
return;
var ret = null;
try {
ret = new ActiveXObject('Msxml2.XMLHTTP');
} catch (e) {
try {
ret = new ActiveXObject('Microsoft.XMLHTTP');
} catch (ee) {
ret = null;
}
}
if (!ret && typeof XMLHttpRequest != 'undefined')
ret = new XMLHttpRequest();
return ret;
}
// Update a combobox with filter value by AJAX
function EW_ajaxupdatecombo(obj, filter_value, async) {
if (!(document.getElementsByTagName || document.all))
return;
try {
var value = (obj.selectedIndex > -1) ? obj.options[obj.selectedIndex].value : null;
for (var i = obj.length-1; i > 0; i--) {
obj.options[i] = null;
}
var s = eval('obj.form.s_' + obj.name + '.value');
//var s = eval('s_' + obj.name);
//if (!s || s == '' || filter_value == '') return;
if (!s || s == '') return;
var lc = eval('obj.form.lc_' + obj.name + '.value');
if (!lc || lc == '') return;
var ld1 = eval('obj.form.ld1_' + obj.name + '.value');
if (!ld1 || ld1 == '') return;
var ld2 = eval('obj.form.ld2_' + obj.name + '.value');
if (!ld2 || ld2 == '') return;
var xmlHttp = EW_createXMLHttp();
if (!xmlHttp) return;
xmlHttp.open('get', EW_LookupFn + '?s=' + s + '&q=' + encodeURIComponent(filter_value) +
'&lc=' + encodeURIComponent(lc) +
'&ld1=' + encodeURIComponent(ld1) +
'&ld2=' + encodeURIComponent(ld2), async);
xmlHttp.onreadystatechange = function() {
//alert(xmlHttp.responseText);
if (xmlHttp.readyState == 4 && xmlHttp.status == 200 &&
xmlHttp.responseText) {
//alert(xmlHttp.responseText);
var object_value_array = xmlHttp.responseText.split('\r');
for (var j=0; j<object_value_array.length-2; j=j+3) {
EW_newopt(obj, object_value_array[j], object_value_array[j+1],
object_value_array[j+2]);
}
EW_selectopt(obj, value);
}
}
xmlHttp.send(null);
} catch (e) {}
}
function EW_HtmlEncode(text) {
var str = text;
str = str.replace(/&/g, '&');
str = str.replace(/\"/g, '"');
str = str.replace(/</g, '<');
str = str.replace(/>/g, '>');
return str;
}
// Google Suggest for textbox by AJAX
// object_value_array format
// object_value_array[n] = display value
// object_value_array[n+1] = display value 2
function EW_ajaxupdatetextbox(object_name) {
var obj, as;
if (document.all) {
obj = document.all(object_name);
if (obj) as = document.all('as_' + object_name);
} else if (document.getElementById) {
obj = document.getElementById(object_name);
if (obj) as = document.getElementById('as_' + object_name);
}
if (!obj || !as) return false;
try {
var s = eval('obj.form.s_' + obj.name + '.value');
//var s = eval('s_' + obj.name);
var q = obj.value;
q = q.replace(/^\s*/, ''); // left trim
if (!s || s == '' || q.length == 0) return false;
var lt = eval('obj.form.lt_' + obj.name + '.value');
if (!lt || lt == '') return;
var xmlHttp = EW_createXMLHttp();
if (!xmlHttp) return;
xmlHttp.open('get', EW_LookupFn + '?s=' + s + '&q=' + encodeURIComponent(q) +
'<=' + encodeURIComponent(lt));
xmlHttp.onreadystatechange = function() {
//if (xmlHttp.readyState == 4) alert(xmlHttp.responseText);
if (xmlHttp.readyState == 4 && xmlHttp.status == 200 &&
xmlHttp.responseText) {
var object_value_array = xmlHttp.responseText.split('\r');
var sHtml = '';
for (var j=0; j<object_value_array.length-2; j=j+2) {
var value = object_value_array[j];
var text = object_value_array[j];
if (object_value_array[j+1] != "")
text += EW_fieldSep + object_value_array[j+1];
var i = j/2 + 1;
sCtrlID = object_name + "_mi_" + i;
sFunc1 = "EW_astOnMouseClick(" + i + ", \"" + object_name + "\", \"" + as.id + "\")";
sFunc2 = "EW_astOnMouseOver(" + i + ", \"" + object_name + "\")";
sHtml += "<div class=\"ewAstListItem\" id=\"" + sCtrlID + "\" name=\"" + sCtrlID + "\" onclick='" + sFunc1 + "' + onmouseover='" + sFunc2 + "'>" + text + "</div>";
// add hidden field to store the value of current item
sMenuItemValueID = sCtrlID + "_value";
sHtml += "\n\r";
sHtml += "<input type=\"hidden\" id=\"" + sMenuItemValueID + "\" name=\"" + sMenuItemValueID + "\" value=\"" + EW_HtmlEncode(text) + "\">";
}
//alert(sHtml);
EW_astShowDiv(as.id, sHtml);
} else {
EW_astHideDiv(as.id);
}
}
xmlHttp.send(null);
} catch (e) {}
return false;
}
// Extended basic search clear form
function EW_clearForm(objForm){
with (objForm) {
for (var i=0; i<elements.length; i++){
var tmpObj = eval(elements[i]);
if (tmpObj.type == "checkbox" || tmpObj.type == "radio"){
tmpObj.checked = false;
} else if (tmpObj.type == "select-one"){
tmpObj.selectedIndex = 0;
} else if (tmpObj.type == "select-multiple") {
for (var j=0; j<tmpObj.options.length; j++)
tmpObj.options[j].selected = false;
} else if (tmpObj.type == "text"){
tmpObj.value = "";
}
}
}
}
// Functions for adding new option dynamically
function EW_ShowAddOption(id) {
if (!document.getElementById) return;
var elem;
elem = document.getElementById("ao_" + id);
if (elem) elem.style.display = "block";
elem = document.getElementById("cb_" + id);
if (elem) elem.style.display = "none";
}
function EW_HideAddOption(id) {
var elem;
elem = document.getElementById("cb_" + id);
if (elem) elem.style.display = "inline";
elem = document.getElementById("ao_" + id);
if (elem) elem.style.display = "none";
}
function EW_PostNewOption(id) {
var elem;
var url = EW_AddOptFn + "?";
elem = document.getElementById("ltn_" + id);
url += "ltn=" + encodeURIComponent(elem.value);
elem = document.getElementById("dfn_" + id);
if (elem) url += "&dfn=" + encodeURIComponent(elem.value);
elem = document.getElementById("dfq_" + id);
if (elem) url += "&dfq=" + encodeURIComponent(elem.value);
elem = document.getElementById("lfn_" + id);
if (elem) url += "&lfn=" + encodeURIComponent(elem.value);
elem = document.getElementById("lfq_" + id);
if (elem) url += "&lfq=" + encodeURIComponent(elem.value);
elem = document.getElementById("df2n_" + id);
if (elem) url += "&df2n=" + encodeURIComponent(elem.value);
elem = document.getElementById("df2q_" + id);
if (elem) url += "&df2q=" + encodeURIComponent(elem.value);
var lf = document.getElementById("lf_" + id);
var lfm = document.getElementById("lfm_" + id);
if (lf) {
if (EW_hasValue(lf, "TEXT")) {
url += "&lf=" + encodeURIComponent(lf.value);
} else {
if (!EW_onError(lf.form, lf, "TEXT", (lfm?lfm.value:"Missing link field value")))
return false;
}
}
var df = document.getElementById("df_" + id);
var dfm = document.getElementById("dfm_" + id);
if (df) {
if (EW_hasValue(df, "TEXT")) {
url += "&df=" + encodeURIComponent(df.value);
} else {
if (!EW_onError(df.form, df, "TEXT", (dfm?dfm.value:"Missing display field value")))
return false;
}
}
var df2 = document.getElementById("df2_" + id);
var df2m = document.getElementById("df2m_" + id);
if (df2) {
if (EW_hasValue(df2, "TEXT")) {
url += "&df2=" + encodeURIComponent(df2.value);
} else {
if (!EW_onError(df2.form, df2, "TEXT", (df2m?df2m.value:"Missing display field #2 value")))
return false;
}
}
try {
var xmlHttp = EW_createXMLHttp();
if (!xmlHttp) return;
xmlHttp.open('get', url, true); // not async
xmlHttp.onreadystatechange = function() {
//alert(xmlHttp.responseText);
if (xmlHttp.readyState == 4 && xmlHttp.status == 200 &&
xmlHttp.responseText) {
var opt = xmlHttp.responseText.split('\r');
if (opt.length > 3 && opt[0]== 'OK') {
var elem = document.getElementById(id);
if (elem) {
EW_newopt(elem, opt[1], opt[2], opt[3]);
EW_HideAddOption(id);
elem.options[elem.options.length-1].selected = true;
elem.focus();
}
} else {
alert(xmlHttp.responseText);
}
}
}
xmlHttp.send(null);
} catch (e) {}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -