javascript函数仅用于数值,默认为“0”

时间:2014-05-30 09:24:04

标签: javascript jquery asp.net-mvc

以下是MVC应用程序视图中的文本框。 我希望它在加载时具有默认值“0”并且仅允许数字。因此只有一个常用函数可以实现。当用户将其保持为空时,它会自动获取默认值。

@Html.TextBoxFor(model => item.myfeild, new { placeholder = "Required", @class = "myclass", require = "true", maxlength = "1", id = @item.myid })

3 个答案:

答案 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>