inputtextフィールドに数字と小数点のみを許可します。 私のコードをkeypressイベントで使用すると、アルファベットが入力されたときにfalseを返しますが、keyupと一緒に使用すると正しく動作します。 マイコード:javascriptのKeyPressとキーアップ
function OnKeyPress(e,DivID) {
if (e.which != 8 && e.which != 0 && e.which != 13 && e.which != 190 && (e.which < 48 || e.which > 57)) {
return false;
// event.preventDefault();
}
var val = j$('[id$='+DivID+']').val();
if(DivID == 'ProximityCPPercentage')
{
var x = event.which || event.keyCode;
if(val.indexOf('.') >= 0 && e.which == 46)
return false;
else if(e.which == 46 && val.length == 3)
return false;
if(val.indexOf('.') == 0)
val = '0' + val;
if(e.which != 46)
{
strval = val + String.fromCharCode(x);
var re = /^((.|0|[1-9]\d?)(\.\d{1})?|100(\.0?)?)$/;
if(!re.test(strval))
return false;
}
}
else if(val.indexOf('.') >= 0)
{
var reg =/^(\d{0,4}\.?(\d{0,1})|\d{0,6})?$/gm;
if(!reg.test(val))
{
j$('[id$='+DivID+']').val(val.substring(0, val.length - 1));
}
}
else if(e.which != 190)
{
if(val.length > 5)
return false;
}
}
私は、入力フィールドのonkeypressでは属性でこの機能を使用する場合は、アルファベットを許可されていませんが、それはアルファベットを可能にするんonkeyupの私が使用している場合。入力中には何も、警告火災:値が入力に設定される前に
2つの異なるイベントに違いがあります。いくつかのキーコードは、必ずしも同じではありません。 – adeneo