📄 manager1.js
字号:
var IPTTYPE_NORMAL = 0;
var IPTTYPE_SELECT = 1;
var IPTTYPE_DATE = 2;
var IPTTYPE_HIDDEN = 3;
var IPTTYPE_BLANK = 4;
function ItemValue(id, name){
this.id = id;
this.name = name;
}
function InputItem(name, type, rltvArray, width,writable){
this.name = name;
this.type = type;
this.width = (width == null ? 200 : width);
this.rltvArray=rltvArray;
this.writable = writable;
}
/*
* 在指定的 TABLE 最后一行追加功能按钮
*/
function _BindTable(sTabID, sArrInputFields, h){
if(h==null) h=0;
var oTab = eval(sTabID);
var arrInputFields = eval(sArrInputFields);
var nRows = oTab.rows.length;
var oTR = oTab.insertRow(nRows);
oTR.bgColor = "#ffffff";
var oTD = oTR.insertCell();
oTD.className = "liebiao";
oTD.width = "50px"
oTD.innerHTML = "<INPUT TYPE=BUTTON id=\"btnAddNew_" + sTabID + "\" CLASS=btnAddNew STYLE='width:100%' ONCLICK=_AddNewRow('" + sTabID + "','" + sArrInputFields + "') VALUE='+'>";
oTD = oTR.insertCell();
oTD.className = "liebiao";
oTD.innerHTML = " ";
oTD.colSpan = arrInputFields.length;
for(var p=0; p<h; p++){
_AddNewRow(sTabID, sArrInputFields)
}
}
function _AddNewRow(sTabID, sArrInputFields){
var oTab = eval(sTabID);
var arrInputFields = eval(sArrInputFields);
var oTR = oTab.insertRow(oTab.rows.length - 1);
oTR.bgColor = "#ffffff";
var oTD = null;
var sHtml = "";
oTR.style.cursor = "hand";
for(var i = 0; i < arrInputFields.length + 1; i++){
oTD = oTR.insertCell();
oTD.id =oTR.rowIndex+"_"+i;
oTD.className = "liebiao";
var rect = oTD.getBoundingClientRect();
var nWidth = rect.right - rect.left;
if(i == 0){
oTD.name = "ORDERTD";
oTD.width = "50px"
oTD.className = "liebiao";
sHtml = "<table style='width:100%;height:20px' border=0 cellspacing=0 cellpadding=0><tr><td align=center>"
+ "<input name=\"XH\" style='width:100%;font-weight:bold;border:0px solid;text-align:center' readonly value='" + oTR.rowIndex + "'>"
+ "</td><td width=20px>"
+ "<INPUT type=\"button\" onclick=_RemoveCurRow() value=\"X\" style='width:100%;height:100%'>"
+ "</td></tr></table>";
}
else{
var id = arrInputFields[i - 1].name+"_"+oTR.rowIndex;
var mc = arrInputFields[i - 1].name+"_name_"+oTR.rowIndex;
if(arrInputFields[i - 1].type == IPTTYPE_SELECT){
sHtml = "<SELECT id=\"" + id + "\" NAME=\"" + mc + "\" onChange=\"_selectOnchange("+oTR.rowIndex+","+i+",this)\" onKeypress=\"Keypress(this)\" style='width:100%;height:100%'>" + arrInputFields[i - 1].rltvArray+"</SELECT>";
}if(arrInputFields[i - 1].type == IPTTYPE_BLANK){
sHtml =arrInputFields[i - 1].rltvArray;
}
if(arrInputFields[i - 1].type == IPTTYPE_HIDDEN){
sHtml = "<INPUT TYPE=HIDDEN id=\"" + id + "\" NAME=\"" + mc + "\">";
}
if(arrInputFields[i - 1].type == IPTTYPE_NORMAL){
sHtml = "<INPUT id=\""+id+"\" "
+ " onKeypress=\"Keypress(this)\""
+ " ONMOUSEOVER=\"this.title=this.value\""
+ " NAME=\"" + mc+"\" "
+ arrInputFields[i - 1].writable+" style='width:100%'>";
}
}
oTD.innerHTML = sHtml;
}
}
function _RemoveCurRow(){
if(!confirm("确定要删除吗?")) return;
var e = event.srcElement;
while(e.tagName != "TR") e = e.parentElement;
e = e.parentElement;
while(e.tagName != "TR") e = e.parentElement;
var oTab = e.parentElement.parentElement;
e.removeNode(true);
_ReOrder(oTab);
}
function _ReOrder(oTab){
var oTab = eval(oTab);
var nRows = oTab.rows.length;
var oTD;
var sHtml;
for(var i = 0, j = 1; i < nRows; i++){
oTD = oTab.rows(i).cells(0);
if(oTD.name == "ORDERTD"){
sHtml = "<table style='width:100%;height:20px' border=0 cellspacing=0 cellpadding=0><tr><td align=center>"
+ "<input name=\"XH\" style='width:100%;font-weight:bold;border:0px solid;text-align:center' readonly value='" + (j++) + "'>"
+ "</td><td width=20px>"
+ "<INPUT type=\"button\" onclick=_RemoveCurRow() value=\"X\" style='width:100%;height:100%' id=\"button\"1 name=\"button\"1>"
+ "</td></tr></table>";
oTD.innerHTML = sHtml;
}
}
}
/**
*根据发票属性数组得到发票单个属性值
*数组元素格式:格式:[代码,名称,单价,每本份数,数量单位,票种, 票号长度]
*参数:vcode发票代码; p表示属性序号,isNum-是否数字
*/
function getSingleProperty(vcode,p,isNum){
for(i=0;i<element.length;i++){
if(element[i][0]==vcode){
return element[i][p];
}
}
alert("发票代码不存在,请通过发票名称选择。");
if(isNum) return "0";
else return "";
}
/**以input为触发,完成select相应的联动*/
function codetokind(m_input,m_select){
var flag = false;
for(i=0;i<m_select.options.length;i++){
if(m_select.options[i].value==m_input.value){
m_select.options[i].selected=true;
flag=true;
break;
}
}
if(flag==false){
alert("错误:您输入有误,请重新输入或通过下拉列表选择!");
}
}
/***********************************************
函数名称:CheckNull
返回类型:boolean
功 能:检测域值是否为空
用 例:flag=CheckNull('form1.f1','form1.f2',...)
***********************************************/
function CheckNull() {
var n=CheckNull.arguments.length;
var obj,objtemp;
var flag=true;
var num=0;
for(i=0;i<n;i++) {
obj=eval(CheckNull.arguments[i]);
if(obj) {
if(!isNaN(obj.length)){
//如果是多选一的下拉列表
if(obj.type=="select-one"){
if(obj.options[obj.selectedIndex].value=="") {
obj.style.color="white";
obj.style.backgroundColor="red";
if(flag) {
objtemp=obj;
flag=false;
num=1;
} else {
num++;
}
} else {
if(obj.style.backgroundColor=="red") {
obj.style.color="black";
obj.style.backgroundColor="white";
}
}
continue;
}
//如果页面上有多个同名input
for(var j=0;j<obj.length;j++){
if(obj[j].value=="") {
obj[j].style.color="white";
obj[j].style.backgroundColor="red";
if(flag) {
objtemp=obj[j];
flag=false;
num=1;
} else {
num++;
}
} else {
if(obj[j].style.backgroundColor=="red") {
obj[j].style.color="black";
obj[j].style.backgroundColor="white";
}
}
}
}
else {
if(obj.value=="") {
obj.style.color="white";
obj.style.backgroundColor="red";
if(flag) {
objtemp=obj;
flag=false;
num=1;
} else {
num++;
}
} else {
if(obj.style.backgroundColor=="red") {
obj.style.color="black";
obj.style.backgroundColor="white";
}
}
}
}
}
if(flag) {
return true;
} else {
alert("总共有"+num+"个必填项内容尚未填写!!!");
objtemp.focus();
return false;
}
}
/***********************************************
函数名称:AddZeroToCodes
参 数:sCodes = 字符
iLen = 总长度
返回类型:String
功 能:在字符串前补零
***********************************************/
function AddZeroToCodes(sCodes,iLen){
var _len = iLen-sCodes.length;
if(_len>0){
sCodes = getCodesOfCount("0",_len)+sCodes;
}
return sCodes;
}
/***********************************************
函数名称:getCodesOfCount
参 数:sCode = 字符
iCount = 数量
返回类型:无
功 能:返回指定数量的字符串
***********************************************/
function getCodesOfCount(sCode,iCount){
var _rtn="";
for(var i=0;i<iCount;i++)
_rtn+=sCode;
return _rtn;
}
/**********回车焦点转移下一输入框*****************/
function Keypress(ikey) {
var ieKey=event.keyCode;
var obj;
if (ieKey == 13) {
for(i_loop = 0;i_loop < document.forms[0].elements.length;i_loop++) {
if (document.forms[0].elements[i_loop] == ikey) {
for(i=i_loop+1;;i++) {
if(i==document.forms[0].elements.length) i=0;
obj=document.forms[0].elements[i];
if(obj.type=="hidden" || obj.type=="file" || obj.readOnly==true || obj.disabled==true || obj.name=="btn_del") {
continue;
} else {
event.keyCode=0;
obj.focus();
if(obj.type=="text") obj.select();
return;
}
}
return;
}
}
}
}
/**********向obj中生成options*************/
function makeOption(obj,optionText,optionValue){
var k = optionText.length;
for(var i=0; i < k; i++){
document.all[obj.name].options[i] = new Option(optionText[i], optionValue[i], 0, 0);
}
}
/**********[判断是否含有汉字*************/
function containChinese(objName){
if (/[^\x00-\xff]/g.test(document.all(objName).value)) return true;
else return false;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -