【问题标题】:input[type=number] in Google Chrome won't accept latlng from Google Maps Javascript API [duplicate]Google Chrome 中的 input[type=number] 不接受来自 Google Maps Javascript API 的 latlng [重复]
【发布时间】:2018-01-14 17:08:16
【问题描述】:

这是我使用 Google Maps JavaScript API v3 制作的坐标选择器的 sn-p:

map.addListener('click', function(e) {
    document.getElementById('lat').value = e.latLng.lat();
    document.getElementById('long').value = e.latLng.lng();
    map.panTo(e.latLng);
    if (map.getZoom() < 14) {
        map.setZoom(14);
    }
    marker.setPosition(e.latLng);
});

#lat#longNumber 类型的 input 元素。但是当我提交时,Chrome 会说

请输入一个有效值。最接近的两个有效值是 3 和 4

我尝试用parseFloat() 包装这些值,但它不起作用。有什么想法吗?

【问题讨论】:

    标签: javascript google-chrome google-maps-api-3


    【解决方案1】:

    Chrome 对数字的处理方式略有不同,您还必须使用 step 属性。

    在你的情况下,以下应该工作:

    <input type="number" step="any" />
    

    您可以将步长更改为您想要的任何小数(例如 0.1、0.001),但任何一个都应该最适合您的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-15
      • 1970-01-01
      • 1970-01-01
      • 2022-06-15
      • 2011-09-10
      • 2016-08-02
      相关资源
      最近更新 更多