在HTML数字输入上显示尾随的十进制零

在HTML数字输入上显示尾随的十进制零,html,forms,numbers,mobile-safari,Html,Forms,Numbers,Mobile Safari,在mobile Safari上显示默认字段值“1.10”时遇到问题。因为最后一个数字是零,所以显示为“1.1”。我在桌面系统上没有这个问题,只在mobile safari上显示 如果我将默认值设置为“1.11”,则显示所有数字,但“1.10”显示为“1.1”如何强制Mobile Safari将“1.10”显示为默认表单值? 这是我的密码 <label id="mortIns_lbl" for=mortIns>Mortgage Ins. (PMI):</label>

在mobile Safari上显示默认字段值“1.10”时遇到问题。因为最后一个数字是零,所以显示为“1.1”。我在桌面系统上没有这个问题,只在mobile safari上显示

如果我将默认值设置为“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>
。(PMI):$
%?

下面是显示Mobile Safari问题的屏幕截图(通过Xcode emulator)

第一幅图显示设置为默认值的1.11,显示正确的数字。然后设置为1.10,这将切断零


您可以在桌面和iOS设备上的EZMonthlyPayment.com上自己进行测试

您可以使用一点JavaScript在文本和数字类型之间交换输入:

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

这是从这个非常好的答案中提取出来的,它可能有其他解决方案(尽管我不确定它是否适用于mobile safari):

更新:我们可以通过更改而不是…来解决此问题,但是我更愿意将其保留为数字,因为它在移动设备上显示正确的键盘。就像我说的,只是一块绷带……令人惊讶的是,经过多年的HTML5准备工作,我们仍然在处理这样明显的缺陷。