js页面对象控制
发布日期:2022-02-05 18:27:41 浏览次数:18 分类:技术文章

本文共 3495 字,大约阅读时间需要 11 分钟。

**
 * 编辑区表格布局样式初始化
 * @param objId 编辑区域table元素的id
 * @return
 */
function initEditArea(objId) {
  var table = $(objId);
  var rows = table.rows;
  for(var i=0; i<rows.length; i++) {
    cells = rows[i].cells;
    for(var j=0; j<cells.length; j++) {
      if(j%2 == 0) {
        cells[j].style.backgroundColor="#E7F1FE";
      } else {
        cells[j].style.backgroundColor="#F8FBFF";
      }
    }
  }
}
/**
 * 给select插入默认值
 * @param selectTag select元素对象
 * @param desc 默认值的描述
 */
function insertDefaultOption(selectTag,desc,sValue) {
  if(typeof sValue == "undefined" || sValue == null) {
    sValue = "";
  }
  if(desc == null) desc = "";
  var obj = eval(selectTag);
  var newOption = document.createElement('option');
  newOption.innerHTML=desc;
  newOption.setAttribute("value",sValue);
  obj.options[0].parentNode.insertBefore(newOption,obj.options[0]);
  obj.selectedIndex = 0;
}

/**

 * 清空form
 * @param oForm为form对象
 */
function resetForm(oForm){
  var oForm = eval(oForm);
  for(var i = 0; i < oForm.elements.length; i++){
    var e = oForm.elements[i];
    if( e.type == null ) continue;
    if( e.tagName.toUpperCase() == "INPUT" ){
      if( e.type.toUpperCase() == "TEXT" || e.type.toUpperCase() == "PASSWORD" )  {
        e.value = "";
      }
      if( e.type.toUpperCase() == "RADIO" ) e.checked = false;
      if( e.type.toUpperCase() == "CHECKBOX" ) e.checked = false;
      if( e.type.toUpperCase() == "HIDDEN" ){
        if( typeof(e.setEnable) == "function" ){
          e.setValue(getTime());
        }
      }
    }
    if( e.tagName.toUpperCase() == "SELECT" ) {
      try{
      if(e.options.length > 0) //e.options[0].selected = true;
        e.value = "";
      } catch(ex){}
    }
    if( e.tagName.toUpperCase() == "TEXTAREA" ) {
        e.value = "";
    }
  }
}

/**

 * 设控件是否为只读
 * @param obj 控件
 * @param isRead true为只读,false为可编辑
 * @return
 */
function setInputEnable(obj, isRead){
  try{
      if(obj.tagName.toUpperCase()=="SELECT"
         || obj.type.toUpperCase()=="CHECKBOX")
        obj.disabled = isRead;
      else
        obj.readOnly = isRead;

    if (isRead){      //不可编辑样式

       obj.className="input-gray";
    }else{      //可编辑样式
      obj.className="";
    }
  }catch(ex){
        alert("setInputEnable()===>"+ex.description);
  }
}

/**

 * 检查输入字段是否是固定长度的数字
 * obj    input对象
 * length 固定的数字长度
 * desc   字段名称
 */
function checkNumOfGivenLength(obj, length, desc) {
  var str = obj.value;
  if(str.length == 0) {
    return true;
  }
  var pattern = /^-?/d+$/;
  if(str.match(pattern) == null || str.length != length) {
    showMsg("“"+desc+"”必须为一个长度为"+length+"的数字,请修改!");
    return false;
  }
  return true;
}

/**

 * 检查输入字段是否合法
 *
 * obj    input对象
 * name   字段名称
 * isNull 是否可为空
 * length 长度
 * isNum  是否为数字
 * iMin   最小值
 * iMax   最大值
 */
function checkField(obj, name, isNull, length, isNum, iMin, iMax) {
    if(arguments.length < 5) {
        throw new Error("传入的参数太少,至少需要5个参数。");
    }
    else if(isNum && arguments.length != 7) {
        throw new Error("传入的参数太少,需要7个参数。");
    }
    var value  = obj.value;
    if(!isNull && value.length == 0){
        showMsg("“"+name+"”不可为空!");
        obj.focus();
        return false;
    }
    if(isNum){
        var pattern = /^-?/d+$/;
        if(value.match(pattern) == null) {
            showMsg("“"+name+"”必须为一个数字,请修改!");
            obj.focus();
            return false;
        } else {
            if ((typeof(iMin)=="undefined") || (typeof(iMax)=="undefined")){
              return true;
            }
            if ((value <= iMax) && (value >= iMin)){
              return true;
            }else{
              showMsg("“"+name+"”必须介于"+iMin+"与"+iMax+"之间!");
              obj.focus();
              return false;
            }
        }
    }
    if(getStrLength(value) > length) {
        var sDesc = "";
        if(!isNum) {
            sDesc = "(一个汉字的长度为2)";
        }
        showMsg("“"+name+"”长度不能超过"+length+"!"+sDesc);
        obj.focus();
        return false;
    }
    return true;
}

/**

 * 获得字符串长度,一个汉字两个
 */
function getStrLength(strTemp){
  var i,sum;
  sum=0;
  for(i=0;i<strTemp.length;i++){
    if ((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)<=255))
      sum=sum+1;
    else
      sum=sum+2;
  }
  return sum;

 

转载地址:https://blog.csdn.net/lisong58420/article/details/2302823 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:ASP.NET中的编码
下一篇:创建xmldocument对象,并读取xml,绑定到select, ie/ff通用

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月06日 07时25分13秒