我有一个问题,即在文本框中将小数点后的值限制为2。
我不想使用正则表达式。 任何人都可以帮助我实现这个目标吗?
我不允许将字符和小数点限制为1,
这是我的代码:
function CheckNumeric(e) {
if (window.event) // IE
{
if ((e.keyCode < 48 || e.keyCode > 57) & e.keyCode != 8 & !(e.keyCode == 46 && e.target.value.indexOf(".") == -1)) {
event.returnValue = false;
return false;
}
}
else { // Fire Fox
if ((e.which < 48 || e.which > 57) & e.which != 8 & !(e.which == 46 && e.target.value.indexOf(".") == -1)) {
e.preventDefault();
return false;
}
}
}
}
这是我的Html代码:
@Html.TextBox("CostperSeat", (object)item.CostperSeat, new{onkeypress="CheckNumeric(event); ", maxlength=10, style = "width:60px" })
答案 0 :(得分:0)
请考虑如下:
.aspx页面中的文本框控件如下所示:
<asp:TextBox ID="TextBox1" runat="server" Width="180px" onkeypress="return onlyDotsAndNumbers(this,event)"></asp:TextBox>
请参阅onkeypress事件,调用javascript函数之一,如下所示:
function onlyDotsAndNumbers(txt, event) {
var charCode = (event.which) ? event.which : event.keyCode
if (charCode == 46) {
if (txt.value.indexOf(".") < 0)
return true;
else
return false;
}
if (txt.value.indexOf(".") > 0) {
var txtlen = txt.value.length;
var dotpos = txt.value.indexOf(".");
if ((txtlen - dotpos) > 2)
return false;
}
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
这会对你有所帮助。