11

モバイルSafariでデフォルトのフィールド値「1.10」を表示できません。最後の桁がゼロであるため、「1.1」と表示されます。デスクトップシステムではこの問題は発生しておらず、モバイルサファリでのみ表示されています。

デフォルト値を「1.11」に設定すると、すべての数字が表示されますが、「1.10」は「1.1」と表示されます。Mobile Safariにデフォルトのフォーム値として「1.10」を表示させるにはどうすればよいですか?

これは私のコードです。

     <label id="mortIns_lbl" for=mortIns>Mortgage Ins. (PMI):</label><div class="dollar">$</div>
      <input id=mortIns class=narrow name=mortIns type=text readonly>
      <input class="percent necessary" id=miPerc name=miPerc type=number onblur=loan() min="0"
                 max="3"
                 step=".01"
                 value="1.10"><div class="pct">%</div><a title="Most mortgage banks will require mortgage insurance if the down payment is less than 20% of the total purchase price of the property. Once 20-25% of the principal has been payed down, the PMI should be removed. However, until that happens, the mortgage insurance payment will remain. 1.1% is the average, but for further clarification talk to a professional lender.">?</a>
      </li>

そして、これがモバイルSafariの問題を示すスクリーンショットです(Xcodeエミュレーターを介して)

最初の画像は、デフォルト値として設定された1.11を示しており、適切な数字を示しています。次に、ゼロをカットオフする1.10として設定します。

3桁表示...GOOD

3を表示したいときに2桁を表示する...悪い

これは、デスクトップおよびiOSデバイスのEZMonthlyPayment.comで自分でテストできます。

4

1 に答える 1

4

JavaScriptの卑劣なビットを使用して、テキストと数値型の間で入力を入れ替えることができます。

var numInput = document.getElementById('numInput');
numInput.addEventListener('keypress', function () {
    this.setAttribute('type', 'text');
});
numInput.addEventListener('click', function () {
    this.setAttribute('type', 'number');
});

これは、ここでのこの本当に良い答えから取られたものです。問題に対する他の解決策があるかもしれません(モバイルサファリで動作するかどうかはわかりませんが):HTML5番号フィールドに末尾のゼロを表示するにはどうすればよいですか?

于 2012-12-19T14:00:04.023 に答える