2016-02-13 91 views
0

在我的设计注册表中,我添加了一个需要占用12位数的新字段。为了防止输入非数字,我使用了问题8481132中的jquery解决方案,它可以工作。导轨形式:如何限制输入字段中的字符数(数字)

用于限制到12位,我使用的maxlength如下:

<div class="field"> 
    <%= f.label :vat_no, "VAT" %><br/> 
    <%= f.number_field :vat_no, :maxlength => 12 %> 
</div> 

生成的HTML是

<div class="field"> 
    <label for="user_vat_no">VAT</label><br> 
    <input maxlength="12" size="12" type="number" value="" name="user[vat_no]" id="user_vat_no"> 
</div> 

看起来确定。但我的浏览器(MacBook上的Safari)很高兴地允许任意数量的数字。

+0

检查http://caniuse.com/以确定该属性是否可用于您正在使用的操作系统版本。您可能需要创建一个js函数来限制输入的字符数。 – margo

+0

您正在使用哪种safari版本?根据此它被修复在9 - http://stackoverflow.com/questions/27319642/is-there-a-workaround-for-text-input-maxlength-not-working-in-safari – Tasos

+0

@Tasos我的Safari版本是9.0.3 – user1575148

回答

0

结账this页面。取而代之的:maxlength => 12,你可以这样做:

<%= f.number_field :vat_no, :max => 999999999999, :min => -999999999999 %> 

...因为999999999999是最高的12位数字和-999999999999是最低的。

相关问题