我有这个观点
我希望字段在输入值
时只接受整数查看
<div class="RDANumber"></div>
@Html.EditorFor(i => i.NumRDA)
<div class="clear"></div>
我尝试使用js代码,但没有成功。
我哪里错了?
有什么更好的方法可以做到这一点?
JS
<script type="text/javascript">
$(document).ready(function () {
$("#RDANumber").keydown(function (event) {
if (event.shiftKey) {
event.preventDefault();
}
if (event.keyCode == 46 || event.keyCode == 8) {
}
else {
if (event.keyCode < 95) {
if (event.keyCode < 48 || event.keyCode > 57) {
event.preventDefault();
}
}
else {
if (event.keyCode < 96 || event.keyCode > 105) {
event.preventDefault();
}
}
}
});
});
答案 0 :(得分:0)
您不需要编写一些javascript代码,因为它已经内置在ASP.Net MVC框架中:
opacity
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
属性旁边插入验证属性:NumRDA
答案 1 :(得分:0)
答案 2 :(得分:0)
使用时
@Html.EditorFor(i => i.NumRDA)
它会生成
<input type="text" name="NumRDA" />
给你
然后您可以使用以下代码来阻止用户输入非数字字符
$(document).ready(function () {
$( "input[name='NumRDA']" ).keydown(function (event) {
if (event.shiftKey) {
event.preventDefault();
}
if (event.keyCode == 46 || event.keyCode == 8) {
}
else {
if (event.keyCode < 95) {
if (event.keyCode < 48 || event.keyCode > 57) {
event.preventDefault();
}
}
else {
if (event.keyCode < 96 || event.keyCode > 105) {
event.preventDefault();
}
}
}
});
});