10進数の検証に次の関数を使用します.テキストボックスには数字と.(ドット)記号のみを入力できます.IEとChromeで正常に機能していました.私の問題は、イベントが定義されていないエラーが発生することです.これを解決するには?多くのテキストボックスの検証があります。だから私は小数の検証を一般的なものとして作成します。
//Call the Function
$('.decimalValidate').live('keypress',function(){
var decimalid=$(this).attr("id");
var decimalval=$('#'+decimalid).val();
var decimalvalidate=ApplyDecimalFilter(decimalval);
if(decimalvalidate == false)
return false;
});
//Decimal 検証用の関数。1 つのみを許可します。symbol.everything は IE と Chrome で正常に動作します
function ApplyDecimalFilter(id)
{
try {
return NewDecimalFilter(id, event);
} catch (e) {
alert(e.message);
}
}
function NewDecimalFilter(o, event) {
if (event.keyCode > 47 && event.keyCode < 58) {
return true;
}
if ((event.keyCode == 8 || event.keyCode == 46) && o.indexOf('.') == -1) {
return true;
}
return false;
}
そして、この decimalValidate クラスをテキスト ボックスで次のように使用します。
input type="text" id="InputLoanAmount" class="decimalValidate" style="width:100px"