2015-10-07 89 views
0

我正在驗證支持多種語言的應用程序中的輸入字段。 我已經綁定了輸入事件來調用將全角字符轉換爲半角字符(用於中文)的函數,還有另一個函數用於檢查輸入字段中數字的有效範圍。 代碼全寬爲半角轉換:Jquery驗證使用綁定不工作

$('.half_width').bind("input",function() { 
    $(this).val($(this).val().replace(/[\uff01-\uff5e]/g, function(ch){ return String.fromCharCode(ch.charCodeAt(0) - 0xfee0); })); 
     }); 

代碼,用於驗證的範圍內,其中整數須由

$('#input_box').bind('input', function (event) { 
     var number = $(this).val(); 
     var retval = ValidateifDigit(number,event,4); 
     return retval; 
    }); 

    $('#input_box').bind('input', function (event) { 
     var number = $(this).val(); 
     var obj = new Object(); 
     obj.integerDigits = 3; 
     obj.lowerLimit = 8; 
     obj.upperLimit = 960; 
     alert("ma"); 
     var retval = self.validateNumber (obj, number); 
     if(retval==false){ 
      $('#parent_div').css('visibility', 'visible'); 
      $('#input_box').parent().addClass('error'); 
     } else{ 
      $('#parent_div').css('visibility', 'hidden'); 
      $('#input_box').parent().removeClass('error'); 
     } 
     viewModel.exposureInput().tubeCurrent(number); 
     return retval; 
    }); 

當試圖輸入數字代碼不工作同樣沒有驗證。請幫助

回答

0

您是否嘗試將您的代碼更改爲此?

$('#input_box').bind('change' 
... 

如果我認爲你的input_box是一個文本輸入,你應該能夠通過檢查事件「change」來檢測其內容的變化。

+0

是的......我試過......我也試過按鍵事件,但它根本不起作用......即使斷點和警報沒有發生在調試器上 – user3595524

+0

@ user3595524如果用「on」替換bind,該怎麼辦? – nowhere

+0

從jQuery 1.7開始,.on()方法是將事件處理程序附加到文檔的首選方法。 – nowhere