我在IE 9和firefox 4&中的文本框中有效数字有问题5, 有人知道吗? 我尝试了之前所有问题的答案,但仍面临问题, 我只想用来输入文本框中的数字, 我也使用asp.net代码语言。
答案 0 :(得分:2)
据我所知,您只想在文本字段中允许使用数字字符,如果它们不是数字,您将返回其他字符。所以,你可以通过这个
步骤1。创建一个javascript函数
<script language="text/javascript">
function onlyNumbers(evt)
{
var e = window.event || evt; // for trans-browser compatibility
var charCode = e.which || e.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
</script>
步骤2。 onkeypress调用这个函数
如果您在任何事件上调用任何javascript方法,则始终传递的第一个参数是event。对于IE,您需要通过window.event来捕获事件。
有关更清晰的提示,请访问: - https://developer.mozilla.org/En/DOM/Event
答案 1 :(得分:0)
尝试masked input plugin获取jquery。
答案 2 :(得分:0)
<textarea onkeyup="test(this);"></textarea>
和
<script type="text/javascript">
function test(el) {
el.value = el.value.replace(/[^0-9\.]/g,'');
}
</script>
答案 3 :(得分:0)
<asp:RegularExpressionValidator ID="vldNumber" ControlToValidate="txtNumber" Display="Dynamic" ErrorMessage="Please Enter Numeric Value" ValidationExpression="(^([0-9]*|\d*\d{1}?\d*)$)" Runat="server">
答案 4 :(得分:0)
使用jQuery,它很容易实现。
你应该用一个类来标记你需要只是数字的输入(如果你有jQuery,内联事件处理程序几乎没用):
<input type="text" class="numericInput">
并使用这个小jQuery:
$('input.numericInput').keypress(function (e) {
return /[0-9]/.test(String.fromCharCode(e.which));
});
经过测试:Chrome,FF4,IE9。如果你想允许其他字符,只需操纵正则表达式。您可能希望允许其他一些键,例如Backspace。