处理form用的方法


/**********************************************************
 处理form用方法
***********************************************************/
/**
 * HTML控件中多数的取值都可以用 document.xxx.value 的方式,但一些特殊情况的取值
 * 比较复杂,如radio或checkbox等,此方法为一个公用的取值方案。可以以
 * controlValue(document.xxx)的形式取值,以统一的方式返回结果。具体返回的方案见
 * @return中的描述。
 *
 * @param con 控件对象,如document.xxID等等
 * @return 该控件的值,如果是text,textarea,select(单选),password返回原值
 * 若radio,返回选中值,若未选返回null
 *  若checkbox,select(多选)返回一个选中值的数组,若未选中返回null
 *  若为text,textarea等多个同名控件的情况,返回所有控件的值的数组
 *  若单个radion或checkbox的情况则返回选中时的值或者null
 */
function controlValue(con){
 if (con != null) {
  if (con.length == null){
   //单独类型的控件
   if (con.type == "text") {
    return con.value;
   } else if (con.type == "textarea") {
    return con.value;
   } else if (con.type == "password") {
    return con.value;
   } else if (con.type == "radio") {
    if (con.checked) {
     return con.value;
    } else {
     return null;
    }
   } else if (con.type == "checkbox") {
    if (con.checked) {
     return con.value;
    } else {
     return null;
    }
   } else {
    alert("system: 不合法的控件类型[" + con.type + "]");
   }
  } else {
   //多重类型的控件
   if (con.type == "select-one") {
    return con.value;
   } else if (con.type == "select-multiple") {
    var ops = con.options;
    if (ops.length == null || ops.length == 0) {
     return null;
    } else {
     var end = new Array();
     for (var i = 0; i < ops.length; i++) {
      if (ops[i].selected){
       end.push(ops[i].value);       
      }
     }
     if (end.length != 0){
      return end;
     } else {
      return null;
     }
    }
   } else {
    var alltype = con[0].type;
    for (var i = 1; i < con.length; i++) {
     if (con[i].type != alltype) {
      alert("尚无法处理同名控件不同类型的情况!" + alltype + " and " + con[i].type);
      return null;
     }
    }
    if (alltype == "radio"
     || alltype == "checkbox") {
     var end = new Array();
     for (var i = 0; i < con.length; i++) {
      if (con[i].checked){
       end.push(con[i].value);
      }
     }
     if (end.length == 0){
      return null;
     } else {
      return end;
     }
    } else if (alltype == "text"
     || alltype == "password"
     || alltype == "textarea"
     || alltype == "select-one"
     || alltype == "select-multiple") {
     var end = new Array();
     for (var i = 0; i < con.length; i++) {
      end.push(controlValue(con[i]));
     }
     return end;
    } else {
     alert("system: 不合法的控件类型[" + alltype + "]");
    }
   }
  }
 } else {
  alert("system: 控件参数不存在!");
 }
}

function form_checkOther(con, title) {
 if (con.length == null || con.tagName == 'SELECT'){
  if (con.value == '') {
   alert('[' + title + ']的值不能为空!');
   return false;
  }
  return true;
 } else {
  alert(title + '对应的第一个参数是一个数组');
  return false;
 } 
}

function form_checkStr(con, title, required, maxlen) {
 if (con.length == null){
  str = con.value;
  if (maxlen != null && checkStrLen(str) > maxlen) {
   alert('[' + title + ']长度不能超过' + maxlen + '个字符!');
   return false;
  } else if (required && str.Trim() == '') {
   alert('[' + title + ']的值不能为空!');
   return false;
  }
  return true;
 } else {
  alert(title + '对应的第一个参数是一个数组');
  return false;
 }
}

function form_checkDate(con, title, required){
   if (con.length != null) {
    alert(title + '对应的第一个参数是一个数组');
  return false;
   }
   str = con.value;
   if (str.Trim() == "") {
    if (required) {
     alert('[' + title + ']的值不能为空!');
    } else {
     return true;
    }
   }
   var theDate = str;
 var reg = /^\d{4}-((0{0,1}[1-9]{1})|(1[0-2]{1}))-((0{0,1}[1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1}))$/; 
 var result=true;
 if(!reg.test(theDate))
  result = false;
 else{
    var arr_hd=theDate.split("-");
     var dateTmp;
     dateTmp= new Date(arr_hd[0],parseFloat(arr_hd[1])-1,parseFloat(arr_hd[2]));
     if(dateTmp.getFullYear()!=parseFloat(arr_hd[0])
        || dateTmp.getMonth()!=parseFloat(arr_hd[1]) -1
        || dateTmp.getDate()!=parseFloat(arr_hd[2])){
      result = false
     }
 }
 if (!result) {
  alert('[' + title + ']的值必须为yyyy-MM-dd的日期!如:2007-06-15');
 } 
 return result;
}

function form_checkNum(con, title, required) {
 if (con.length == null){
  str = con.value;
  if (str.Trim()=='') {
   if (required) {
    alert('[' + title + ']的值不能为空!');
    return false;
   } else {
    return true;
   }   
  } else if (isNaN(str.removeComma())) {
   alert('[' + title + ']的值必须为合法的数字!');
   return false;
  }
  return true;
 } else {
  alert(title + '对应的第一个参数是一个数组');
  return false;
 }
}

function isDelete(){
 return confirm('您确认要删除么?');
}
function isSubmit(){
 return confirm('您确认要提交么?');
}
function isAudit(){
 return confirm('您确认要审核么?');
}
function isSubmitCancel(){
 return confirm('您确认要取消提交么?');
}
function isAuditCancel(){
 return confirm('您确认要取消审核么?');
}
//-->
</SCRIPT>
<STYLE>
.inputtitle {
 background-image: url("/copper_test/images/tan_top_bg1.gif");
 color: #FFFFFF;
 height: 27;
 font-size: 13px;
 letter-spacing: 5;
}

.title{
 text-align: center;
 padding: 2 5 2 5;
 background-image: url("/copper_test/images/content_list_bg1.gif");
}
.ButtonCss{
    font-family: "Tahoma", "宋体";
    font-size:9pt; color: #ffffff;
 border: 0px #000000 solid;
    background-image:url(/copper_test/images/tan_btn_bg.gif);
    background-color: #eae9ef;
    width:71px;
    height:28px;
    cursor: hand;
}
</STYLE>
<OBJECT id=UMHControl1 style="LEFT: 0px; TOP: 0px" height=0 width=0 classid=clsid:C4B873F4-099F-4DD7-88D2-2EF97EFE03E8 codebase='/copper_test/pub/UMHControl.ocx'>
<PARAM NAME="_Version" VALUE="65536"><PARAM NAME="_ExtentX" VALUE="2646">
<PARAM NAME="_ExtentY" VALUE="1323"><PARAM NAME="_StockProps" VALUE="0">
</OBJECT>
<base target="_self">
<SCRIPT LANGUAGE="JavaScript">
<!--
//点击表格的时候产生事件的javascript程序
//向table中添加事件,和事件对应的方法
var layout_selectID=null;
//ID所属列数
var layout_IDIndex = 1;
//当前表格被选中的行对象
var layout_selectElement;
//是否多选
var multiple = true;
//表名
var layout_tableName = "infoTable";
//select效果
var layout_style_selected = "selected";
//普通效果
var layout_style_normal = "normal";
//悬停效果
var layout_style_over = "onit";
//双击执行事件
var layout_event_doubleclick = "parent.topFrame.onBrowse();";

//-->
</SCRIPT>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值