撤消javascript替换函数

Undoing javascript replace function

本文关键字:函数 替换 javascript 撤消      更新时间:2023-09-26

此函数的目标是根据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'/]+/,"");
  }
}

希望这对你有帮助。