此函数的目标是根据select标记中是否选择了"Query"选项,将文本输入从仅允许数字(和/)切换为允许默认字符。
我正在做这样的事情:
function ifQueryDisableDefVal(selectId, textInput){
if(document.getElementById(selectId).value == 'Query'){
var numInput;
numInput = document.getElementById(textInput);
numInput.onkeydown = numInput.onblur = numInput.onkeyup = function(){
numInput.value = numInput.value.replace(/[^0-9/]+/,"");
}
}else{
//What I need help with.
}
}
if语句工作得很好,只是我在"恢复"时遇到了问题,可以说,文本输入再次允许默认字符(其他)。
-提前感谢
numInput.onkeydown = null
将删除事件处理程序。对您处理过的所有事件都执行此操作。
正如@Bergi所说,你可以试试这个:
var numInput = document.getElementById(textInput);
numInput.onkeydown = numInput.onblur = numInput.onkeyup = function(){
if(document.getElementById(selectId).value==='Query')
{
numInput.value = numInput.value.replace(/[^0-9/]+/,"");
}
}
希望这对你有帮助。