2016-02-13 101 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是最低的。

相關問題