以下是MVC
应用程序视图中的文本框。
我希望它在加载时具有默认值“0”并且仅允许数字。因此只有一个常用函数可以实现。当用户将其保持为空时,它会自动获取默认值。
@Html.TextBoxFor(model => item.myfeild, new { placeholder = "Required", @class = "myclass", require = "true", maxlength = "1", id = @item.myid })
答案 0 :(得分:1)
在文本框中使用此函数写入事件
onkeypress="return isNumberKey(event);"
function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
答案 1 :(得分:0)
试试这个: 首先将您的ID名称更改为myfeild,如下所示:
@Html.TextBoxFor(model => item.myfeild, new { placeholder = "Required", @class = "myclass", require = "true", maxlength = "1", id = "myfeild" })
然后使用这个脚本:
<script type="text/javascript">
$(document).ready(function () {
if ($("#myfeild").val() == "") {
$("#myfeild").val('0');
}
$("#myfeild").keydown(function (event) {
if ($("#myfeild").val() == "0") {
$("#myfeild").val('');
}
if (event.shiftKey) {
event.preventDefault();
}
if (event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39) {
}
else {
if (event.keyCode < 95) {
if (event.keyCode < 48 || event.keyCode > 57) {
event.preventDefault();
}
}
else {
if (event.keyCode < 96 || event.keyCode > 105) {
event.preventDefault();
}
}
}
});
$("#myfeild").keyup(function (event) {
if ($("#myfeild").val() == "") {
$("#myfeild").val('0');
}
});
});
</script>
答案 2 :(得分:0)
您可以尝试以下代码。这可能会对您有所帮助:
<script>
$(document).ready(function () {
if ($("#yourElementId").val().length < 1)
$("#yourElementId").val(0);
$("#yourElementId").keypress(function (e) {
if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
return false;
}
});
$("#yourElementId").blur(function () {
if ($(this).val().length < 1)
$(this).val(0);
});
});
</script>