2014-10-30 87 views
0

我想只计算数字,但我的textarea计数也计数逗号与数字。我怎么解决这个问题?Html.TextBoxFor最大长度只能计数数字mvc

@Html.TextBoxFor(m => m.Money, new { @class = "w90 amount-align", 
            @id = "input-amount", 
            @maxlength = 11", 
            @data_mask = "###.###.###", 
            @data_mask_reverse = "true", 
            @Placeholder = "0" }) 

回答

1

忘记它。 maxlength输入属性仅适用于输入值char count。无论它是数字,货币还是文字等。

然后,您将需要通过自己开发自己的customMaxLength。像这样的东西。

HTML:

<input type="text" id="field" class="maxlength-5"> 

的jQuery:

$(function(){ 
    $('.maxlength-5').keypress(function(evt){ 
     var maxLength = 5; // as it threat maxlength-5 custom class :) 

     // assuming that data-mask will certify that only currency format will be valid   
     var pureValue = $(this).val().replace('.','').replace(',',''); 

     if(pureValue.length >= maxLength) 
      evt.preventDefault(); 
}); 

});

亲自试一试here

+0

你误会了我。我想输入像12345678999比它的变化像12.345.678.999,但不计算点这必须是11个字符,但我的代码说这是14个字符。 – slymnozdmrc 2014-11-03 15:38:54

+0

我试了几个小时找到一些jquery masked input cdn来构建一个小提琴示例。试试这个:在'Focus()',调用'.unmask()'方法。有了这个,您可以使用maxlength默认验证和插件遮罩功能。 – 2014-11-04 13:16:16