|
|
// Function Name: trim
|
|
|
// Function Description: 去除字符串的首尾的空格
|
|
|
// Creation Date: 2004-7-13 15:30
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.trim=function(){
|
|
|
return this.replace(/(^\s*)|(\s*$)/g, "");
|
|
|
}
|
|
|
|
|
|
// Function Name: ltrim
|
|
|
// Function Description: 去除字符串的左侧的空格
|
|
|
// Creation Date: 2004-7-13 9:58
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.ltrim=function()
|
|
|
{
|
|
|
return this.replace(/(^\s*)/g, "");
|
|
|
}
|
|
|
|
|
|
// Function Name: rtrim
|
|
|
// Function Description: 去除字符串的右侧的空格
|
|
|
// Creation Date: 2004-7-13 15:31
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.rtrim=function()
|
|
|
{
|
|
|
return this.replace(/(\s*$)/g, "");
|
|
|
}
|
|
|
|
|
|
// Function Name: len
|
|
|
// Function Description: 返回字符串的实际长度, 一个汉字算2个长度
|
|
|
// Creation Date: 2004-7-13 9:58
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.len=function()
|
|
|
{
|
|
|
var str=this;
|
|
|
return str.replace(/[^\x00-\xff]/g, "**").length
|
|
|
}
|
|
|
|
|
|
// Function Name: isValidDate
|
|
|
// Function Description: 判断输入是否是有效的短日期格式 - "YYYY-MM-DD"
|
|
|
// Creation Date: 2004-7-13 9:58
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.isValidDate=function()
|
|
|
{
|
|
|
var result=this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
|
|
|
if(result==null) return false;
|
|
|
var d=new Date(result[1], result[3]-1, result[4]);
|
|
|
return (d.getFullYear()==result[1]&&d.getMonth()+1==result[3]&&d.getDate()==result[4]);
|
|
|
}
|
|
|
|
|
|
// Function Name: isValidTime
|
|
|
// Function Description: 判断输入是否是有效的时间格式 - "HH:MM:SS"
|
|
|
// Creation Date: 2004-7-13 9:58
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.isValidTime=function()
|
|
|
{
|
|
|
var resule=this.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
|
|
|
if (result==null) return false;
|
|
|
if (result[1]>24 || result[3]>60 || result[4]>60) return false;
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
// Function Name: isValidEmail
|
|
|
// Function Description: 判断输入是否是有效的电子邮件
|
|
|
// Creation Date: 2004-7-13 9:59
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.isValidEmail=function()
|
|
|
{
|
|
|
var result=this.match(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/);
|
|
|
if(result==null) return false;
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
// Function Name: isValidDatetime
|
|
|
// Function Description: 判断输入是否是有效的长日期格式 - "YYYY-MM-DD HH:MM:SS"
|
|
|
// Creation Date: 2004-7-13 9:59
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.isValidDatetime=function()
|
|
|
{
|
|
|
var result=this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
|
|
|
if(result==null) return false;
|
|
|
var d= new Date(result[1], result[3]-1, result[4], result[5], result[6], result[7]);
|
|
|
return (d.getFullYear()==result[1]&&(d.getMonth()+1)==result[3]&&d.getDate()==result[4]&&d.getHours()==result[5]&&d.getMinutes()==result[6]&&d.getSeconds()==result[7]);
|
|
|
}
|
|
|
|
|
|
// Function Name: isValidInteger
|
|
|
// Function Description: 判断输入是否是一个整数
|
|
|
// Creation Date: 2004-7-13 10:01
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.isValidInteger=function()
|
|
|
{
|
|
|
var result=this.match(/^(-|\+)?\d+$/);
|
|
|
if(result==null) return false;
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
// Function Name: isValidPositiveInteger
|
|
|
// Function Description: 判断输入是否是一个正整数
|
|
|
// Creation Date: 2004-7-13 10:01
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.isValidPositiveInteger=function()
|
|
|
{
|
|
|
var result=this.match(/^\d+$/);
|
|
|
if(result==null) return false;
|
|
|
if(parseInt(this)>0) return true;
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
// Function Name: isValidNegativeInteger
|
|
|
// Function Description: 判断输入是否是一个负整数
|
|
|
// Creation Date: 2004-7-13 10:28
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.isValidNegativeInteger=function()
|
|
|
{
|
|
|
var result=this.match(/^-\d+$/);
|
|
|
if(result==null) return false;
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
// Function Name: isValidNumber
|
|
|
// Function Description: 判断输入是否是一个数字
|
|
|
// Creation Date: 2004-7-13 10:01
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.isValidNumber=function()
|
|
|
{
|
|
|
return !isNaN(this);
|
|
|
}
|
|
|
|
|
|
// Function Name: isValidLetters
|
|
|
// Function Description: 判断输入是否是一个由 A-Z / a-z 组成的字符串
|
|
|
// Creation Date: 2004-7-13 10:10
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.isValidLetters=function()
|
|
|
{
|
|
|
var result=this.match(/^[a-zA-Z]+$/);
|
|
|
if(result==null) return false;
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
// Function Name: isValidDigits
|
|
|
// Function Description: 判断输入是否是一个由 0-9 组成的数字
|
|
|
// Creation Date: 2004-7-13 10:10
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.isValidDigits=function()
|
|
|
{
|
|
|
var result=this.match(/^[1-9][0-9]+$/);
|
|
|
if(result==null) return false;
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
// Function Name: isValidAlphanumeric
|
|
|
// Function Description: 判断输入是否是一个由 0-9 / A-Z / a-z 组成的字符串
|
|
|
// Creation Date: 2004-7-13 10:14
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.isValidAlphanumeric=function()
|
|
|
{
|
|
|
var result=this.match(/^[a-zA-Z0-9]+$/);
|
|
|
if(result==null) return false;
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
// Function Name: isValidString
|
|
|
// Function Description: 判断输入是否是一个由 0-9 / A-Z / a-z / . / _ 组成的字符串
|
|
|
// Creation Date: 2004-7-13 10:20
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.isValidString=function()
|
|
|
{
|
|
|
var result=this.match(/^[a-zA-Z0-9\s.\-_]+$/);
|
|
|
if(result==null) return false;
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
// Function Name: isValidPostalcode
|
|
|
// Function Description: 判断输入是否是一个有效的邮政编码
|
|
|
// Creation Date: 2004-7-13 10:22
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.isValidPostalcode=function()
|
|
|
{
|
|
|
var result=this.match(/(^[0-9]{6}$)/);
|
|
|
if(result==null) return false;
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
// Function Name: isValidPhoneNo
|
|
|
// Function Description: 判断输入是否是一个有效的电话号码
|
|
|
// Creation Date: 2004-7-13 10:22
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.isValidPhoneNo=function()
|
|
|
{
|
|
|
var result=this.match(/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)/);
|
|
|
if(result==null) return false;
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
// Function Name: isValidMobileNo
|
|
|
// Function Description: 判断输入是否是一个有效的手机号码
|
|
|
// Creation Date: 2004-7-13 10:23
|
|
|
// Last Modify By: N/A
|
|
|
// Last Modify Date: N/A
|
|
|
String.prototype.isValidMobileNo=function()
|
|
|
{
|
|
|
var result=this.match(/(^0{0,1}13[0-9]{9}$)/);
|
|
|
if(result==null) return false;
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
String.prototype.strlen = function() {
|
|
|
var len = 0;
|
|
|
for (var i=0;i<this.length;i++)
|
|
|
{
|
|
|
if (this.charCodeAt(i)>255) len+=2;
|
|
|
else len++;
|
|
|
}
|
|
|
return len;
|
|
|
}
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
根据传入的类型返回正则表达式,如果类型不存在则返回空。
|
|
|
*/
|
|
|
|
|
|
function regex(type)
|
|
|
{
|
|
|
/*验证是否数字*/
|
|
|
if (type == 'int') return /^\d+$/;
|
|
|
|
|
|
/*email校验*/
|
|
|
if (type == 'email') return /^[a-zA-Z]{1}\w+@\w+\.\w+/;
|
|
|
|
|
|
/*15位身份证*/
|
|
|
if (type == 'cert15') return /^\d{15}$/;
|
|
|
|
|
|
/*18位身份证*/
|
|
|
if (type == 'cert18') return /^\d{17}[0-9Xx]{1}$/;
|
|
|
|
|
|
/* 只能输入ASCII字符(非空)*/
|
|
|
if (type == 'ascii') return /^\w+$/;
|
|
|
|
|
|
/* 日期校验 yyyy-mm-dd*/
|
|
|
if (type == 'date(yyyy-mm-dd)') return /^\d{4}-[01]{1}\d{1}-[0123]{1}\d{1}$/;
|
|
|
|
|
|
/* 日期校验 yyyy/mm/dd*/
|
|
|
if (type == 'date(yyyy/mm/dd)') return /^\d{4}\/[01]{1}\d{1}\/[0123]{1}\d{1}$/;
|
|
|
|
|
|
/* 浮点数精度定义*/
|
|
|
if (type == 'float(2)') return /^\d+\.\d{2}$/;
|
|
|
|
|
|
/* 邮编 */
|
|
|
if (type == 'postcode') return /^\d{6}$/;
|
|
|
|
|
|
/* 移动电话 */
|
|
|
if (type == 'mobphone') return /^[1][3][0|1|2|3|5|6|7|8|9]\d{8}$/;
|
|
|
|
|
|
/* 固定电话 */
|
|
|
if (type == 'phone') return /^[1|2|3|4|5|6|7|8|9]\d{6,7}$/;
|
|
|
|
|
|
/* 电话地区号 */
|
|
|
if (type == 'areacode') return /^[0][1|2|3|4|5|6|7|8|9]\d{1,2}$/;
|
|
|
|
|
|
return '';
|
|
|
}
|
|
|
/*
|
|
|
校验是否输入正确的业务号码
|
|
|
v1 业务号码 v2 网别
|
|
|
*/
|
|
|
function validate(v1,v2){
|
|
|
v2 = v2.trim();
|
|
|
v1 = v1.trim();
|
|
|
var pat = new Array();
|
|
|
pat["A"] = /^[1][3][0|1|2|3]\d{8}$/;
|
|
|
pat["P"] = /^\d+$/;
|
|
|
pat["E"] = /^\S+$/;
|
|
|
pat["G"] = /^[1][3][0|1]\d{8}$/;
|
|
|
pat["C"] = /^[1][3][3]\d{8}$/;
|
|
|
|
|
|
var ret = pat[v1].exec(v2);
|
|
|
if(!ret) return false;
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
用正则表达式去掉字符串前后的空格
|
|
|
*/
|
|
|
//String.prototype.trim = function()
|
|
|
//{
|
|
|
// return this.replace(/(^\s*)|(\s*$)/g, "");
|
|
|
//}
|
|
|
|
|
|
/*
|
|
|
验证证件类型和证件号码是否合法
|
|
|
type: 证件类型
|
|
|
num: 证件号码
|
|
|
*/
|
|
|
function check_certnum(num)
|
|
|
{
|
|
|
if(num.length == 0) return true;
|
|
|
//十五位身份证验证
|
|
|
if (num.length == 15)
|
|
|
{
|
|
|
var thePat=/[0-9]{15}/;
|
|
|
var gotIt = thePat.test(num);
|
|
|
if (!gotIt)
|
|
|
{
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
//十八位身份证验证
|
|
|
if(num.length == 18)
|
|
|
{
|
|
|
var thePat=/[0-9]{17}[0-9Xx]{1}/;
|
|
|
var gotIt = thePat.test(num);
|
|
|
if (!gotIt)
|
|
|
{
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
接收Enter键输入, 使焦点指向对象a下一个可见且没有被disable的对象
|
|
|
a: 页面上的HTML元素名,一般直接写this即可
|
|
|
*/
|
|
|
function keyDown(a)
|
|
|
{
|
|
|
var key=window.event.keyCode;
|
|
|
var form;
|
|
|
form = document.forms[0];
|
|
|
if (key == 13)
|
|
|
{
|
|
|
for (k = 0 ; k < form.length ;k++)
|
|
|
if (form.elements[k] == a)
|
|
|
i = k + 1;
|
|
|
if (i == form.length) return;
|
|
|
while(form.elements[i].disabled == true
|
|
|
|| form.elements[i].type == 'hidden'
|
|
|
|| form.elements[i].type == 'button') {
|
|
|
i++;
|
|
|
if (i == form.length) return;
|
|
|
}
|
|
|
form.elements[i].focus();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
校验用户两次输入的密码是否相同
|
|
|
obj1: 密码
|
|
|
obj2: 重新输入的密码
|
|
|
*/
|
|
|
|
|
|
function check_pwd(obj1,obj2) {
|
|
|
var pat = /^\d{6}$/;
|
|
|
if(obj1.value=="" && obj2.value == "") return true;
|
|
|
var ret = pat.test(obj1.value);
|
|
|
if(!ret) {
|
|
|
alert("密码必须是6位数字!");
|
|
|
obj1.value = "";
|
|
|
obj2.value = "";
|
|
|
obj1.focus();
|
|
|
return false;
|
|
|
}
|
|
|
if(obj1.value != obj2.value) {
|
|
|
alert("两次输入的密码不同,请重新输入!");
|
|
|
obj1.value = "";
|
|
|
obj2.value = "";
|
|
|
obj1.focus();
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
mask函数实现对于定制类型的HTML元素的校验
|
|
|
参数说明:
|
|
|
1、ElementName : 页面上的HTML元素名,一般直接写this即可
|
|
|
2、Type:要校验的类型,系统预定义了一些类型,可以写,也可以自己定义正则表达式。
|
|
|
3、ErrDesc:错误描述,如果校验不通过显示的提示内容。
|
|
|
|
|
|
函数使用位置:
|
|
|
该函数一般在元素的onblur事件中触发
|
|
|
*/
|
|
|
function mask(ElementName,Type,ErrDesc)
|
|
|
{
|
|
|
//如果该元素没有任何数据,则不需要校验
|
|
|
if (ElementName.value.length == 0) {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
//如果类型没有指定则不做任何限制
|
|
|
if (Type.length == 0) return true;
|
|
|
|
|
|
var pat = regex(Type);
|
|
|
if (pat == '') {
|
|
|
pat = Type;
|
|
|
}
|
|
|
|
|
|
var ret = pat.test(ElementName.value);
|
|
|
if (ret) {
|
|
|
return true;
|
|
|
} else {
|
|
|
//显示错误描述
|
|
|
if (ErrDesc == null || ErrDesc == "") {
|
|
|
alert("该值不合法!");
|
|
|
} else {
|
|
|
alert(ErrDesc);
|
|
|
}
|
|
|
|
|
|
//清空数据
|
|
|
ElementName.value = '';
|
|
|
//设置焦点
|
|
|
ElementName.focus();
|
|
|
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
非空校验的函数
|
|
|
|
|
|
*/
|
|
|
|
|
|
function IsNull(FormName)
|
|
|
{
|
|
|
var form;
|
|
|
if (FormName == "" || FormName == null){
|
|
|
form = document.forms[0];
|
|
|
}else{
|
|
|
form = FormName;
|
|
|
}
|
|
|
//遍历form元素
|
|
|
for (i = 0 ; i < form.length ;i++){
|
|
|
if (form.elements[i].NullCheck == '1' && form.elements[i].value == '' && form.elements[i].disabled == false){
|
|
|
if (form.elements[i].ErrDesc == null || form.elements[i].ErrDesc == ''){
|
|
|
alert("该值不能为空!!");
|
|
|
}else{
|
|
|
alert(form.elements[i].ErrDesc);
|
|
|
}
|
|
|
form.elements[i].focus();
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
用来建立临时数组的对象
|
|
|
*/
|
|
|
function OBJECT_TEMP(a,b,c){
|
|
|
this.myArray = a;
|
|
|
this.col = b;
|
|
|
this.id = c;
|
|
|
}
|
|
|
|
|
|
|
|
|
/*
|
|
|
根据传入的对象的名称、过滤的列的名称、以及列的值返回一个过滤后的对象
|
|
|
Obj是数据对象,(不是字符串,请不要用引号或者双引号),如果只知道名称可以通过调用getobjectbyname('对象名称')来获取
|
|
|
*/
|
|
|
function getvalue(Obj,ColName,ColVal)
|
|
|
{
|
|
|
var a = new Array();
|
|
|
var b = new Array();
|
|
|
|
|
|
var irow = 0;
|
|
|
var flag = 0;
|
|
|
|
|
|
//创建列数组
|
|
|
for (var i=0;i<Obj.col.length;i++) {
|
|
|
a[i] = new Array();
|
|
|
}
|
|
|
|
|
|
for (var i=0;i<Obj.col.length;i++) {
|
|
|
if (Obj.col[i] == ColName.toUpperCase()) {
|
|
|
flag++;
|
|
|
|
|
|
for (var j=0;j<Obj.myArray[i].length;j++) {
|
|
|
if (Obj.myArray[i][j] == ColVal) {
|
|
|
b[irow] = Obj.id[j];
|
|
|
for (var k = 0;k<Obj.col.length;k++) {
|
|
|
a[k][irow] = Obj.myArray[k][j];
|
|
|
}
|
|
|
irow++;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
} else {
|
|
|
continue;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (flag == 0) {
|
|
|
alert("列名" + ColName + "不存在!");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
var temp = new OBJECT_TEMP(a,Obj.col,b);
|
|
|
return temp;
|
|
|
}
|
|
|
|
|
|
|
|
|
/*
|
|
|
根据对象来生成下拉列表框中的数据
|
|
|
type的取值:
|
|
|
rewrite (把下拉框中的所有数据清理,然后加数据) (默认值)
|
|
|
append (如果有重复的自动过滤)
|
|
|
|
|
|
Obj是数据对象,(不是字符串,请不要用引号或者双引号),如果只知道名称可以通过调用getobjectbyname('对象名称')来获取
|
|
|
listname是下拉列表框的名称(不是字符串,请不要用引号或者双引号)
|
|
|
|
|
|
*/
|
|
|
function filldata(Obj,listname,datacolumn,displaycolumn,type)
|
|
|
{
|
|
|
//查找数据列和显示列是否存在
|
|
|
var idata = 0,idispaly = 0,flag1 = false,flag2 = false;
|
|
|
for (var i=0;i<Obj.col.length;i++) {
|
|
|
if (Obj.col[i] == datacolumn.toUpperCase()) {
|
|
|
idata = i;
|
|
|
flag1 = true;
|
|
|
}
|
|
|
|
|
|
if (Obj.col[i] == displaycolumn.toUpperCase()) {
|
|
|
idisplay = i;
|
|
|
flag2 = true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (flag1 == false) {
|
|
|
alert("数据列" + datacolumn + "不存在");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
if (flag2 == false) {
|
|
|
alert("显示列" + displaycolumn + "不存在");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
//判断是否是追加类型
|
|
|
if (type==null || type=="" || type.toUpperCase()!="APPEND") {
|
|
|
//清空下拉列表框中的所有数据
|
|
|
deldata(listname);
|
|
|
}
|
|
|
|
|
|
var j = 0;
|
|
|
var len = 0;
|
|
|
var flag;
|
|
|
|
|
|
|
|
|
//从对象中取数据,并填写到下拉列表中
|
|
|
for (var i=0;i<Obj.id.length;i++) {
|
|
|
flag = false;
|
|
|
len = listname.length;
|
|
|
for (j=0;j<len;j++) {
|
|
|
if (listname.options[j].id == Obj.id[i]) {
|
|
|
flag = true;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//如果在下拉列表中没有找到,则添加,否则继续
|
|
|
if (flag == false) {
|
|
|
listname.length = len + 1;
|
|
|
listname.options[len].value = Obj.myArray[idata][i];
|
|
|
listname.options[len].text = Obj.myArray[idisplay][i];
|
|
|
listname.options[len].id = Obj.id[i];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
|
|
|
/*
|
|
|
根据下拉框来和对应的数据对象来生成一个新的对象,下拉列表框中有几条数据,将生成几条数据
|
|
|
listname是下拉列表框的名称(不是字符串,请不要用引号或者双引号)
|
|
|
*/
|
|
|
function createobj(listname)
|
|
|
{
|
|
|
if (listname.name == null || listname.name == "") {
|
|
|
alert("请为列表框指定名称(name属性)!");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
if (listname.datacolumn == null || listname.datacolumn == "") {
|
|
|
alert("请为列表框指定数据列(datacolumn属性)!");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
if (listname.displaycolumn == null || listname.displaycolumn == "") {
|
|
|
alert("请为列表框指定显示列(displaycolumn属性)!");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
|
|
|
var rtn = eval((listname.name + "_OBJECT").toUpperCase());
|
|
|
var tt = new rtn;
|
|
|
var a = new Array();
|
|
|
var b = new Array();
|
|
|
var id = 0;
|
|
|
var irow = 0;
|
|
|
var count = 0;
|
|
|
|
|
|
//创建列数组
|
|
|
for (var i=0;i<tt.col.length;i++) {
|
|
|
a[i] = new Array();
|
|
|
}
|
|
|
|
|
|
//从下拉框中查找ID,然后根据ID到数组中提取数据
|
|
|
for (var list=0;list<listname.options.length;list++) {
|
|
|
id = listname.options[list].id;
|
|
|
if (id == "" || id == null) {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
var flag = false;
|
|
|
|
|
|
//根据ID查找记录号
|
|
|
for (var i=0;i<tt.id.length;i++) {
|
|
|
if (tt.id[i] == id) {
|
|
|
irow = i;
|
|
|
flag = true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//如果没有找到该id,则忽略
|
|
|
if (flag == false) continue;
|
|
|
|
|
|
b[count] = id;
|
|
|
|
|
|
for (var i=0;i<tt.col.length;i++) {
|
|
|
a[i][count] = tt.myArray[i][irow];
|
|
|
}
|
|
|
|
|
|
count++;
|
|
|
}
|
|
|
|
|
|
var temp = new OBJECT_TEMP(a,tt.col,b);
|
|
|
return temp;
|
|
|
}
|
|
|
|
|
|
|
|
|
/*
|
|
|
根据下拉列表框中被选择的数据(可能是多选的情况)生成一个新的数据对象
|
|
|
listname是下拉列表框的名称(不是字符串,请不要用引号或者双引号)
|
|
|
*/
|
|
|
|
|
|
|
|
|
function createobjbysel(listname)
|
|
|
{
|
|
|
if (listname.name == null || listname.name == "") {
|
|
|
alert("请为列表框指定名称(name属性)!");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
if (listname.datacolumn == null || listname.datacolumn == "") {
|
|
|
alert("请为列表框指定数据列(datacolumn属性)!");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
if (listname.displaycolumn == null || listname.displaycolumn == "") {
|
|
|
alert("请为列表框指定显示列(displaycolumn属性)!");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
|
|
|
var rtn = eval((listname.name + "_OBJECT").toUpperCase());
|
|
|
var tt = new rtn;
|
|
|
var a = new Array();
|
|
|
var b = new Array();
|
|
|
var id = 0;
|
|
|
var irow = 0;
|
|
|
var count = 0;
|
|
|
|
|
|
//创建列数组
|
|
|
for (var i=0;i<tt.col.length;i++) {
|
|
|
a[i] = new Array();
|
|
|
}
|
|
|
|
|
|
//从下拉框中查找ID,然后根据ID到数组中提取数据
|
|
|
for (var list=0;list<listname.options.length;list++) {
|
|
|
if (listname.options[list].selected == true) {
|
|
|
id = listname.options[list].id;
|
|
|
if (id == "" || id == null) {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
var flag = false;
|
|
|
|
|
|
//根据ID查找记录号
|
|
|
for (var i=0;i<tt.id.length;i++) {
|
|
|
if (tt.id[i] == id) {
|
|
|
irow = i;
|
|
|
flag = true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//如果没有找到该id,则忽略
|
|
|
if (flag == false) continue;
|
|
|
|
|
|
b[count] = id;
|
|
|
|
|
|
for (var i=0;i<tt.col.length;i++) {
|
|
|
a[i][count] = tt.myArray[i][irow];
|
|
|
}
|
|
|
|
|
|
count++;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
var temp = new OBJECT_TEMP(a,tt.col,b);
|
|
|
return temp;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
根据数据对象和列名获取列的序号。
|
|
|
*/
|
|
|
|
|
|
function getcol(obj,colname)
|
|
|
{
|
|
|
for (var i=0;i<obj.col.length;i++) {
|
|
|
if (obj.col[i] == colname.toUpperCase()) {
|
|
|
return i;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
alert("列" + colname + "不存在!");
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
|
|
|
/*
|
|
|
根据ID从数据对象中查询对应的记录数
|
|
|
*/
|
|
|
|
|
|
function getrow(obj,idvalue)
|
|
|
{
|
|
|
if (idvalue == null || idvalue == "") {
|
|
|
alert("不存在该行!");
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
for (var i=0;i<obj.id.length;i++) {
|
|
|
if (obj.id[i] == idvalue) {
|
|
|
return i;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
alert("不存在该行!");
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
|
|
|
//返回列表框中被选择的ID
|
|
|
function getid(listname)
|
|
|
{
|
|
|
for (var i=0;i<listname.options.length;i++) {
|
|
|
if (listname.options[i].selected == true) {
|
|
|
return listname.options[i].id;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
根据数据对象、ID的值和列名获取数据。
|
|
|
*/
|
|
|
function getvaluebyid(obj,idvalue,colname)
|
|
|
{
|
|
|
var row = getrow(obj,idvalue);
|
|
|
if (row == -1) return false;
|
|
|
|
|
|
var col = getcol(obj,colname);
|
|
|
if (col == -1) return false;
|
|
|
|
|
|
return obj.myArray[col][row];
|
|
|
}
|
|
|
|
|
|
|
|
|
//删除下拉列表中的数据
|
|
|
function deldata(listname)
|
|
|
{
|
|
|
//清空下拉列表框中的所有数据
|
|
|
for (var i = listname.options.length-1 ; i >= 0 ; i--) {
|
|
|
listname.options[i] = null;
|
|
|
}
|
|
|
listname.length = 0;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//根据列表框来获取该列表框的所对应的数据对象,针对下拉框和数据对象绑定的情况
|
|
|
function getobject(listname)
|
|
|
{
|
|
|
if (listname.name == null || listname.name == "") {
|
|
|
alert("请为列表框指定名称(name属性)!");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
if (listname.datacolumn == null || listname.datacolumn == "") {
|
|
|
alert("请为列表框指定数据列(datacolumn属性)!");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
if (listname.displaycolumn == null || listname.displaycolumn == "") {
|
|
|
alert("请为列表框指定显示列(displaycolumn属性)!");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
try{
|
|
|
var rtn = eval((listname.name + "_OBJECT").toUpperCase());
|
|
|
var tt = new rtn;
|
|
|
return tt;
|
|
|
}catch(e)
|
|
|
{
|
|
|
alert("该列表框没有和数据对象绑定或绑定错误,请检查!");
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
/*
|
|
|
1、这个主要是在创建的不和下拉框绑定的数据对象的时候,要访问这些对象可以使用该方法
|
|
|
根据数据对象的名称来获取数据对象
|
|
|
2、如果知道数据对象的名称,也可以通过该方法来得到对应的数据对象
|
|
|
*/
|
|
|
function getobjectbyname(dataname)
|
|
|
{
|
|
|
if (dataname == null || dataname == "") {
|
|
|
alert("数据对象的名称不能为空!");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
try{
|
|
|
var rtn = eval((dataname + "_OBJECT").toUpperCase());
|
|
|
var tt = new rtn;
|
|
|
return tt;
|
|
|
}catch(e)
|
|
|
{
|
|
|
alert("对不起,您要访问的数据对象不存在!");
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
根据当前选中的数值过滤另外一个下拉框
|
|
|
|
|
|
curlistname当前选择的列表名
|
|
|
curfiltercol用来作为过滤值的列名
|
|
|
listname:被过滤的列表的名称
|
|
|
filtercolumn:过滤列
|
|
|
datacol:数据列
|
|
|
display:显示列
|
|
|
*/
|
|
|
|
|
|
function filterlist(curlistname,curfiltercol,listname,filtercolumn,datacol,display)
|
|
|
{
|
|
|
|
|
|
//根据当前下拉列表创建对象
|
|
|
var cur = getobject(curlistname);
|
|
|
if (cur == false) return false;
|
|
|
|
|
|
//获取选中行的ID
|
|
|
var id = getid(curlistname);
|
|
|
if (id == -1) return false;
|
|
|
|
|
|
//如果ID为空,则清空被过滤的列表的数据
|
|
|
if (id == null || id == "") {
|
|
|
deldata(listname);
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
//获取数据
|
|
|
var data = getvaluebyid(cur,id,curfiltercol);
|
|
|
if (data == false) return false;
|
|
|
|
|
|
var obj = getobject(listname);
|
|
|
if (obj == false) return false;
|
|
|
|
|
|
//根据条件查询满足条件的数据
|
|
|
var rtn = getvalue(obj,filtercolumn,data);
|
|
|
if (rtn == false) return false;
|
|
|
//填写数据到下拉列表中
|
|
|
var tt = filldata(rtn,listname,datacol,display);
|
|
|
if (tt == false) return false;
|
|
|
}
|
|
|
|
|
|
//根据指定列、以及指定的列的值来过滤下拉列表
|
|
|
function filterbycol(colname,colvalue,listname,datacol,display)
|
|
|
{
|
|
|
|
|
|
//查找列表框对象
|
|
|
var obj = getobject(listname);
|
|
|
if (obj == false) return false;
|
|
|
//根据条件查询满足条件的数据
|
|
|
var rtn = getvalue(obj,colname,colvalue);
|
|
|
if (rtn == false) return false;
|
|
|
//填写数据到下拉列表中
|
|
|
var tt = filldata(rtn,listname,datacol,display);
|
|
|
if (tt == false) return false;
|
|
|
}
|
|
|
|
|
|
//根据指定列、以及指定的列的值来过滤下拉列表
|
|
|
function filldatafilter(colname,colvalue,listname,obj,datacol,display)
|
|
|
{
|
|
|
//根据条件查询满足条件的数据
|
|
|
var rtn = getvalue(obj,colname,colvalue);
|
|
|
if (rtn == false) return false;
|
|
|
//填写数据到下拉列表中
|
|
|
var tt = filldata(rtn,listname,datacol,display);
|
|
|
if (tt == false) return false;
|
|
|
}
|
|
|
|
|
|
|
|
|
function copyToList(from,to) //from表示:包含可选择项目的select对象名字 to表示:列出可选择项目的select对象名字 //你可以根据你的具体情况修改
|
|
|
{
|
|
|
fromList = eval('document.forms[0].' + from);
|
|
|
toList = eval('document.forms[0].' + to);
|
|
|
if (toList.options.length > 0 && toList.options[0].value == 'temp')
|
|
|
{
|
|
|
toList.options.length = 0;
|
|
|
}
|
|
|
var sel = false;
|
|
|
for (i=0;i<fromList.options.length;i++)
|
|
|
{
|
|
|
var current = fromList.options[i];
|
|
|
if (current.selected)
|
|
|
{
|
|
|
sel = true;
|
|
|
if (current.value == 'temp')
|
|
|
{
|
|
|
alert ('你不能选择这个项目!');
|
|
|
return;
|
|
|
}
|
|
|
txt = current.text;
|
|
|
val = current.value;
|
|
|
toList.options[toList.length] = new Option(txt,val);
|
|
|
fromList.options[i] = null;
|
|
|
i--;
|
|
|
}
|
|
|
}
|
|
|
if (!sel) alert ('你还没有选择任何项目');
|
|
|
}
|
|
|
|
|
|
|
|
|
function editchk(chkbox){
|
|
|
checkbox = eval('document.forms[0].' + chkbox);
|
|
|
var checkedflag = 0;
|
|
|
|
|
|
if (checkbox == null){
|
|
|
alert("没有查询到任何记录 无法进行编辑操作!")
|
|
|
return false;
|
|
|
}
|
|
|
if (checkbox.length == null){
|
|
|
if (checkbox.checked != true){
|
|
|
alert("没有选择任何记录 无法进行编辑操作!")
|
|
|
return false;
|
|
|
}
|
|
|
}else{
|
|
|
for (var i = 0 ; i < checkbox.length ; i++){
|
|
|
if (checkbox[i].checked == true){
|
|
|
checkedflag++;
|
|
|
}
|
|
|
}
|
|
|
if (checkedflag > 1){
|
|
|
alert("编辑操作一次只能选择一条记录")
|
|
|
return false;
|
|
|
}
|
|
|
if (checkedflag == 0){
|
|
|
alert("没有选择任何记录 无法进行编辑操作!")
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function editchk1(chkbox,msg){
|
|
|
checkbox = eval('document.forms[0].' + chkbox);
|
|
|
var checkedflag = 0;
|
|
|
|
|
|
if (checkbox == null){
|
|
|
alert(msg)
|
|
|
return false;
|
|
|
}
|
|
|
if (checkbox.length == null){
|
|
|
if (checkbox.checked != true){
|
|
|
alert(msg)
|
|
|
return false;
|
|
|
}
|
|
|
}else{
|
|
|
for (var i = 0 ; i < checkbox.length ; i++){
|
|
|
if (checkbox[i].checked == true){
|
|
|
checkedflag++;
|
|
|
}
|
|
|
}
|
|
|
if (checkedflag > 1){
|
|
|
alert("一次只能选择一条记录")
|
|
|
return false;
|
|
|
}
|
|
|
if (checkedflag == 0){
|
|
|
alert(msg)
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function delchk1(chkbox,msg){
|
|
|
checkbox = eval('document.forms[0].' + chkbox);
|
|
|
var checkedflag = false;
|
|
|
|
|
|
if (checkbox == null){
|
|
|
alert("没有查询到任何记录!")
|
|
|
return false;
|
|
|
}
|
|
|
if (checkbox.length == null){
|
|
|
if (checkbox.checked != true){
|
|
|
alert("没有选择任何记录!")
|
|
|
return false;
|
|
|
}
|
|
|
}else{
|
|
|
for (var i = 0 ; i < checkbox.length ; i++){
|
|
|
if (checkbox[i].checked == true){
|
|
|
checkedflag = true;
|
|
|
}
|
|
|
}
|
|
|
if (checkedflag == false){
|
|
|
alert("没有选择任何记录!")
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
rtn = confirm(msg)
|
|
|
if (rtn !="0"){
|
|
|
return true;
|
|
|
}else{
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
function delchk(chkbox){
|
|
|
checkbox = eval('document.forms[0].' + chkbox);
|
|
|
var checkedflag = false;
|
|
|
|
|
|
if (checkbox == null){
|
|
|
alert("没有查询到任何记录 无法进行删除操作!")
|
|
|
return false;
|
|
|
}
|
|
|
if (checkbox.length == null){
|
|
|
if (checkbox.checked != true){
|
|
|
alert("没有选择任何记录 无法进行删除操作!")
|
|
|
return false;
|
|
|
}
|
|
|
}else{
|
|
|
for (var i = 0 ; i < checkbox.length ; i++){
|
|
|
if (checkbox[i].checked == true){
|
|
|
checkedflag = true;
|
|
|
}
|
|
|
}
|
|
|
if (checkedflag == false){
|
|
|
alert("没有选择任何记录 无法进行删除操作!")
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
rtn = confirm("是否确认删除记录?")
|
|
|
if (rtn !="0"){
|
|
|
return true;
|
|
|
}else{
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function allotchk(chkbox){
|
|
|
checkbox = eval('document.forms[0].' + chkbox);
|
|
|
var checkedflag = false;
|
|
|
|
|
|
if (checkbox == null){
|
|
|
alert("没有查询到任何记录 无法进行分配操作!")
|
|
|
return false;
|
|
|
}
|
|
|
if (checkbox.length == null){
|
|
|
if (checkbox.checked != true){
|
|
|
alert("没有选择任何记录 无法进行分配操作!")
|
|
|
return false;
|
|
|
}
|
|
|
}else{
|
|
|
for (var i = 0 ; i < checkbox.length ; i++){
|
|
|
if (checkbox[i].checked == true){
|
|
|
checkedflag = true;
|
|
|
}
|
|
|
}
|
|
|
if (checkedflag == false){
|
|
|
alert("没有选择任何记录 无法进行分配操作!")
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
function canclechk(chkbox){
|
|
|
checkbox = eval('document.forms[0].' + chkbox);
|
|
|
var checkedflag = 0;
|
|
|
|
|
|
if (checkbox == null){
|
|
|
alert("没有查询到任何记录 无法进行冲正!")
|
|
|
return false;
|
|
|
}
|
|
|
if (checkbox.length == null){
|
|
|
if (checkbox.checked != true){
|
|
|
alert("没有选择任何记录 无法进行冲正!")
|
|
|
return false;
|
|
|
}
|
|
|
}else{
|
|
|
for (var i = 0 ; i < checkbox.length ; i++){
|
|
|
if (checkbox[i].checked == true){
|
|
|
checkedflag++;
|
|
|
}
|
|
|
}
|
|
|
if (checkedflag > 1){
|
|
|
alert("一次只能选择一条记录")
|
|
|
return false;
|
|
|
}
|
|
|
if (checkedflag == 0){
|
|
|
alert("没有选择任何记录 无法进行冲正!")
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
function delchkonly(chkbox){
|
|
|
checkbox = eval('document.forms[0].' + chkbox);
|
|
|
var checkedflag = 0;
|
|
|
|
|
|
if (checkbox == null){
|
|
|
alert("没有查询到任何记录 无法进行删除操作!")
|
|
|
return false;
|
|
|
}
|
|
|
if (checkbox.length == null){
|
|
|
if (checkbox.checked != true){
|
|
|
alert("没有选择任何记录 无法进行删除操作!")
|
|
|
return false;
|
|
|
}
|
|
|
}else{
|
|
|
for (var i = 0 ; i < checkbox.length ; i++){
|
|
|
if (checkbox[i].checked == true){
|
|
|
checkedflag++;
|
|
|
}
|
|
|
}
|
|
|
if (checkedflag > 1){
|
|
|
alert("删除操作一次只能选择一条记录")
|
|
|
return false;
|
|
|
}
|
|
|
if (checkedflag == 0){
|
|
|
alert("没有选择任何记录 无法进行删除操作!")
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
rtn = confirm("是否确认删除记录?")
|
|
|
if (rtn !="0"){
|
|
|
return true;
|
|
|
}else{
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
function cancelchkonly(chkbox){
|
|
|
checkbox = eval('document.forms[0].' + chkbox);
|
|
|
var checkedflag = 0;
|
|
|
|
|
|
if (checkbox == null){
|
|
|
alert("没有查询到任何记录 无法进行注销操作!")
|
|
|
return false;
|
|
|
}
|
|
|
if (checkbox.length == null){
|
|
|
if (checkbox.checked != true){
|
|
|
alert("没有选择任何记录 无法进行注销操作!")
|
|
|
return false;
|
|
|
}
|
|
|
}else{
|
|
|
for (var i = 0 ; i < checkbox.length ; i++){
|
|
|
if (checkbox[i].checked == true){
|
|
|
checkedflag++;
|
|
|
}
|
|
|
}
|
|
|
if (checkedflag > 1){
|
|
|
alert("注销操作一次只能选择一条记录")
|
|
|
return false;
|
|
|
}
|
|
|
if (checkedflag == 0){
|
|
|
alert("没有选择任何记录 无法进行注销操作!")
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
rtn = confirm("是否确认注销记录?")
|
|
|
if (rtn !="0"){
|
|
|
return true;
|
|
|
}else{
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
//返回输入日期和当前日期的差值,时间是从 1970 年 1 月 1 日午夜开始计的毫秒数
|
|
|
//如果输入日期为空,则返回0
|
|
|
//datestr 输入日期,格式yyyy-mm-dd,其中分隔符“-”由第二个参数决定
|
|
|
//separater 日期分隔符
|
|
|
function compareDate(datestr,separater) {
|
|
|
if (datestr.trim() == "") return 0;
|
|
|
var arr = datestr.split(separater);
|
|
|
var year = arr[0];
|
|
|
var month = parseInt(arr[1],10)-1;
|
|
|
var date = arr[2];
|
|
|
var inputDate = new Date(year,month,date);
|
|
|
var currDate = new Date();
|
|
|
currDate.setHours(0,0,0,0);
|
|
|
return (inputDate.valueOf()-currDate.valueOf());
|
|
|
}
|
|
|
function getSysdate(){
|
|
|
var date=new Date();
|
|
|
var year=date.getYear();
|
|
|
var month=date.getMonth();
|
|
|
var day=date.getDate();
|
|
|
month = month + 1;
|
|
|
if (day < 10){
|
|
|
day = "0"+day;
|
|
|
}
|
|
|
if (month < 10){
|
|
|
month = "0" + month;
|
|
|
}
|
|
|
return year+"-"+month+"-"+day;
|
|
|
}
|
|
|
function openWin(url,wname) {
|
|
|
var win = window.open(url, wname, "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1", true)
|
|
|
win.focus();
|
|
|
}
|
|
|
|
|
|
|
|
|
function parseExcel(obj){
|
|
|
var exceldata = obj.innerHTML;
|
|
|
var url = "ParseExcelAction.do";
|
|
|
document.all.exceldata.value=exceldata;
|
|
|
document.forms[0].action="/ParseExcelAction.do";
|
|
|
document.forms[0].target="_blank";
|
|
|
document.forms[0].submit();
|
|
|
}
|
|
|
|
|
|
function click(){
|
|
|
// if(event.button==1)
|
|
|
{
|
|
|
alert( '正在处理中,请稍候!');
|
|
|
}
|
|
|
}
|
|
|
//设置主页面和菜单页面的鼠标点击事件的动作,使鼠标点击无效
|
|
|
function disableClick() {
|
|
|
document.onmousedown=click;
|
|
|
parent.leftFrame.document.onmousedown=click;
|
|
|
}
|
|
|
|
|
|
//判断有没有checkbox被选中
|
|
|
function noChecked(checkboxName) {
|
|
|
var checkbox = eval("document.forms[0]." + checkboxName);
|
|
|
if (checkbox == null){
|
|
|
//alert("没有找到checkbox对象!");
|
|
|
return true;
|
|
|
}
|
|
|
if (checkbox.length == null) {
|
|
|
if (checkbox.checked == true) {
|
|
|
return false;
|
|
|
} else {
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
|
for (var i=0; i<checkbox.length; i++) {
|
|
|
if (checkbox[i].checked == true) {
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
function checkmoney(para,Desc)
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
var pat1 = /^\d+\.\d{2}$/;
|
|
|
var pat2= /^\d+\.\d{1}$/;
|
|
|
var pat3= /^\d+$/;
|
|
|
var ret1 = pat1.test(para.value);
|
|
|
var ret2 = pat2.test(para.value);
|
|
|
var ret3 = pat3.test(para.value);
|
|
|
if (ret1||ret2||ret3) {
|
|
|
return true;
|
|
|
} else {
|
|
|
alert(Desc);
|
|
|
//清空数据
|
|
|
para.value = '';
|
|
|
//设置焦点
|
|
|
para.focus();
|
|
|
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
function checkLength(obj, length) {
|
|
|
if (obj.value.len()>length) {
|
|
|
alert("您输入的字符超长!");
|
|
|
obj.focus();
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
function showEmpDialog(empid,empname,deptid) {
|
|
|
if (empid.disabled == true)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
var emp;
|
|
|
var url="/SelectEmpAction.do?empid="+empid.value+"&deptid="+deptid.value;
|
|
|
emp = window.showModalDialog(url,"",'dialogWidth:400px;dialogHeight:500px;dialogLeft:300px;dialogTop:150px;center:yes;help:no;resizable:yes;status:yes');
|
|
|
empid.value=emp[0];
|
|
|
empname.value=emp[1];
|
|
|
}
|
|
|
|
|
|
function showAllEmpDialog(empid,empname,deptid) {
|
|
|
if (empid.disabled == true)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
var emp;
|
|
|
var url="/SelectEmpAction.do?empid="+empid.value+"&deptid="+deptid.value+"&all=1";
|
|
|
emp = window.showModalDialog(url,"",'dialogWidth:400px;dialogHeight:500px;dialogLeft:300px;dialogTop:150px;center:yes;help:no;resizable:yes;status:yes');
|
|
|
empid.value=emp[0];
|
|
|
empname.value=emp[1];
|
|
|
}
|
|
|
|
|
|
function showSingleSelectEmpDialog(empid,empname,deptid) {
|
|
|
if (empid.disabled == true)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
var emp;
|
|
|
var url="/SelectEmpAction.do?empid="+empid.value+"&deptid="+deptid.value;
|
|
|
emp = window.showModalDialog(url,"1",'dialogWidth:400px;dialogHeight:500px;dialogLeft:300px;dialogTop:150px;center:yes;help:no;resizable:yes;status:yes');
|
|
|
empid.value=emp[0];
|
|
|
empname.value=emp[1];
|
|
|
}
|
|
|
|
|
|
function showDeptDialog(deptid,deptname) {
|
|
|
var date = new Date();
|
|
|
if (deptid.disabled == true)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
var dept;
|
|
|
var url="/SelectDeptAction.do?deptid="+deptid.value+"&random="+date.valueOf();;
|
|
|
dept = window.showModalDialog(url,"",'dialogWidth:400px;dialogHeight:500px;dialogLeft:300px;dialogTop:150px;center:yes;help:no;resizable:yes;status:yes');
|
|
|
deptid.value=dept[0];
|
|
|
deptname.value=dept[1];
|
|
|
}
|
|
|
|
|
|
function showSingleSelectDeptDialog(deptid,deptname) {
|
|
|
var date = new Date();
|
|
|
if (deptid.disabled == true)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
var dept;
|
|
|
var url="/SelectDeptAction.do?deptid="+deptid.value+"&random="+date.valueOf();
|
|
|
dept = window.showModalDialog(url,"1",'dialogWidth:400px;dialogHeight:500px;dialogLeft:300px;dialogTop:150px;center:yes;help:no;resizable:yes;status:yes');
|
|
|
deptid.value=dept[0];
|
|
|
deptname.value=dept[1];
|
|
|
}
|
|
|
|
|
|
function checkTxtFile(file) {
|
|
|
var filename = file.value.trim();
|
|
|
if (filename == ""){
|
|
|
return;
|
|
|
}
|
|
|
if (!(/^.+\.(txt)$/i.test(filename))) {
|
|
|
alert("文件类型只能是 <txt> !");
|
|
|
file.value = "";
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function showPrcplnInfo(prcplnid) {
|
|
|
var url = "/sell/PrcplnInfoAction.do?action=showPrcplnInfo&prcplnid="+prcplnid+"&newWin=1";
|
|
|
var rtn = window.open(url,"套餐资费","height=280,width=400,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no,status=no");
|
|
|
}
|
|
|
|
|
|
function showRealUsrState(mphonecode, usrstate, statedate) {
|
|
|
var date = new Date();
|
|
|
var url = "/grade/DetailQueryAction.do?mphonecode=" + mphonecode + "&action=getRealUsrState&radom=" + date.valueOf();
|
|
|
var rtn = window.showModalDialog(url,"",'dialogWidth:400px;dialogHeight:300px;dialogLeft:200px;dialogTop:150px;center:yes;help:no;resizable:yes;status:no');
|
|
|
if (usrstate != undefined) {
|
|
|
if (rtn[0] != "") {
|
|
|
usrstate.innerHTML = rtn[0];
|
|
|
}
|
|
|
|
|
|
}
|
|
|
if (statedate != undefined) {
|
|
|
if (rtn[1] != "") {
|
|
|
statedate.innerHTML = rtn[1];
|
|
|
}
|
|
|
}
|
|
|
} |