撤消javascript替换功能

时间:2013-06-26 17:04:25

标签: javascript html regex

此功能的目标是在允许数字(和/)之间切换文本输入,并允许默认字符,具体取决于是否在选择标记中选择了“查询”选项。

我正在做这样的事情:

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语句运行得很好,除了我有“恢复”的麻烦,可以这么说,文本输入再次允许默认字符(其他)。

- 提前谢谢

2 个答案:

答案 0 :(得分:1)

numInput.onkeydown = null将删除事件处理程序。为您处理的所有事件执行此操作。

答案 1 :(得分:0)

正如@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\/]+/,"");
  }
}

希望这对你有所帮助。