0

此功能的目标是根据是否在选择标签中选择“查询”选项来切换文本输入,从仅允许数字(和/)之间切换和允许默认字符。

我正在做这样的事情:

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

-提前致谢

4

2 回答 2

1

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

于 2013-06-26T17:05:20.330 回答
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\/]+/,"");
  }
}

希望这对你有帮助。

于 2013-06-26T17:20:10.553 回答