
//文本对象
var TextUtil = new Object();
//文本框最大长度
TextUtil.isNotMax = function(oTextArea)...{
return oTextArea.value.length!=oTextArea.getAttribute("maxlength");
}
//阻止无效的字符
TextUtil.blockChars = function(oTextbox,oEvent)...{
oEvent = window.event;
var sInvalidChars = oTextbox.getAttribute("invalidchars");
var sChar = String.fromCharCode(oEvent.keyCode);
var bIsValidChar = sInvalidChars.indexOf(sChar) == -1;
return bIsValidChar
}
//允许有效的字符
TextUtil.allowChars = function(oTextbox,oEvent)...{
oEvent = window.event;
var sInvalidChars = oTextbox.getAttribute("validchars");
var sChar = String.fromCharCode(oEvent.keyCode);
var bIsValidChar = sInvalidChars.indexOf(sChar) > -1;
return bIsValidChar
}
//使用上下键操作数字
TextUtil.numericScroll = function(oTextbox,oEvent)...{
oEvent = window.event;
var iValue = oTextbox.value.length == 0 ? 0 :parseInt(oTextbox.value);
var iMax = oTextbox.getAttribute("max");
var iMin = oTextbox.getAttribute("min");

if(oEvent.keyCode == 38 )...{
if(iMax == null || iValue<parseInt(iMax))...{
oTextbox.value = (iValue + 1);}
}
else if (oEvent.keyCode == 40)...{
if(iMin == null || iValue > parseInt(iMin))...{
oTextbox.value = (iValue - 1);}
}
}

TextUtil.autosuggestMatch = function(sText,arrValues)...{
var arrResult = new Array;

if(sText !="")...{
for(var i=0;i<arrValues.length;i++)...{
if(arrValues[i].indexOf(sText)==0)...{
arrResult.push(arrValues[i]);
}
}
}
return arrResult;
}
TextUtil.autosuggest = function(oTextbox,arrValues,sListboxId)...{
var oListbox = document.getElementById(sListboxId);
ListUtil.clear(oListbox);
var arrMatches = TextUtil.autosuggestMatch(oTextbox.value,arrValues);

for(var i=0;i<arrMatches.length;i++)...{
ListUtil.add(oListbox,arrMatches[i]);
}
}
本文介绍了一组JavaScript工具函数,用于增强HTML表单中的文本框功能,包括限制最大输入长度、阻止或允许特定字符输入、使用键盘上下键调整数字值以及实现自动建议匹配功能。
705

被折叠的 条评论
为什么被折叠?



