2013-06-26 101 views
0

此功能的目標是切換文本輸入,使其僅允許在數字(和/或)之間切換,並允許默認字符取決於選擇標記中是否選擇了「查詢」選項。撤消JavaScript替換功能

我在做這樣的事情:

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語句工作得很好,但我有麻煩「恢復」,可以這麼說,文本輸入,再次允許默認字符(其他)。

-Thanks提前

+0

如何將if/else語句移動到keyup處理程序中? – Bergi

回答

1

numInput.onkeydown = null將刪除事件處理程序。爲你處理的所有事件做這件事。

+0

神奇,這工作。謝謝! –

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

希望這是對你有幫助。