2014-05-30 19 views
0

以下是我在MVC應用程序的視圖中的文本框。 我希望當它加載它有默認值「0」,並且它只允許數字。所以它只有一個通用函數是可能的。當用戶保持它爲空時,它會自動得到默認值。java腳本函數僅用於數值並且默認爲「0」

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

如果你的視圖中有你的屬性的數據類型爲「int」,那麼它應該自動爲你做。 –

回答

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; 

}

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