/**//* This function is use to check the length whether current length is overflow the designated length, on control get focus or on key up * ctrlId: target control * return: max length */ function lengthCheck(ctrlId,max)...{ var oControl = ctrlId; var oX = getAbsoluteLeft(oControl); var oY = getAbsoluteTop(oControl); var oCounter = document.getElementById('dCounter'); oCounter.style.display='block'; if(getBytesLength(oControl.value) > max)...{ for(var i =1; i<oControl.value.length;i++)...{ //alert(getBytesLength(oControl.value.substr(0,i))); if(getBytesLength(oControl.value.substr(0,i+1))>=max)...{ oControl.value = oControl.value.substr(0,i); } } } if(oCounter!=null)...{ oCounter.innerHTML = getBytesLength(oControl.value)+"/"+max; oCounter.style.left = oX-20; oCounter.style.top = oY-20; } } /**//* This function is use to check the length whether current length is overflow the designated length, on control lose focus * ctrlId: target control * return: max length */ function lengthCheckOver(ctrlId,max)...{ var oControl = ctrlId; var oX = getAbsoluteLeft(oControl); var oY = getAbsoluteTop(oControl); var oCounter = document.getElementById('dCounter'); if(getBytesLength(oControl.value) > max)...{ for(var i =1; i<oControl.value.length;i++)...{ //alert(getBytesLength(oControl.value.substr(0,i))); if(getBytesLength(oControl.value.substr(0,i+1))>=max)...{ oControl.value = oControl.value.substr(0,i); } } } if(oCounter!=null)...{ oCounter.innerHTML = getBytesLength(oControl.value)+"/"+max; oCounter.style.left = oX-20; oCounter.style.top = oY-20; oCounter.style.display='none'; } } /**//* This function is use to get bytes length from a string which either ASCII or Uncode. * str: appointed string * return: bytes length */ function getBytesLength(str) ...{ var re=/[