PHP+JS getElementById().value return int 而不是 float
PHP+JS getElementById().value return int instead of float
编辑:抱歉,由于某些原因 PHP 部分未正确显示
我正在尝试使用 getElementByID().value
.
从 javascript 中的 PHP/HTML 获取值
然而,即使PHP中的值是十进制的,在JS中它是一个int。
我需要获取浮点值,因为它们是 Google.
地图上位置的坐标
这是 PHP 部分:$lat
和 $long
是十进制数(我试图用点替换逗号也没有结果
echo '
<ul id="cordinates">
<li id="lat" value="',$lat,'"></li>
<li id="lon" value="',$long,'"></li>
</ul>';
这是 JS 部分:
var lat = (document.getElementById('lat').value);
var lon = (document.getElementById('lon').value);
console.log("LAT:: "+lat);
console.log("LON:: "+lon);
Example output on the webside:
53.9933371,
-6.3912622 and in the console LAT:: 53 LON:: -6
我做错了什么?
如何在 JS 中获取浮点值?
任何提示都会对我有很大帮助,谢谢。
更新:
属性 元素
的值不是您想要的那种值。 "This integer attribute indicates the current ordinal value of the list item as defined by the element. " Mozilla reference 所以我猜它是圆的还是什么的。
请使用data-*属性存储坐标:
<ul id="cordinates">
<li id="lat" data-value="52.0193">52.0193</li>
<li id="lon" data-value="23.2413">23.2413</li>
</ul>
并将您的 javascript 修改为:
var lat = (parseFloat(document.getElementById('lat').dataset.value));
var lon = (parseFloat(document.getElementById('lon').dataset.value));
我真的不知道PHP,但我认为你应该把它改成这样:
echo '
<ul id="cordinates">
<li id="lat" data-value="',$lat,'">',$lat,'</li>
<li id="lon" data-value="',$long,'">',$lon,'</li>
</ul>';
原始答案:
使用 parseFloat() - Reference
var lat = (parseFloat(document.getElementById('lat').value));
var lon = (parseFloat(document.getElementById('lon').value));
console.log("LAT:: "+lat);
console.log("LON:: "+lon);
编辑:抱歉,由于某些原因 PHP 部分未正确显示
我正在尝试使用 getElementByID().value
.
然而,即使PHP中的值是十进制的,在JS中它是一个int。 我需要获取浮点值,因为它们是 Google.
地图上位置的坐标这是 PHP 部分:$lat
和 $long
是十进制数(我试图用点替换逗号也没有结果
echo '
<ul id="cordinates">
<li id="lat" value="',$lat,'"></li>
<li id="lon" value="',$long,'"></li>
</ul>';
这是 JS 部分:
var lat = (document.getElementById('lat').value);
var lon = (document.getElementById('lon').value);
console.log("LAT:: "+lat);
console.log("LON:: "+lon);
Example output on the webside: 53.9933371, -6.3912622 and in the console LAT:: 53 LON:: -6
我做错了什么? 如何在 JS 中获取浮点值? 任何提示都会对我有很大帮助,谢谢。
更新:
属性 元素
请使用data-*属性存储坐标:
<ul id="cordinates">
<li id="lat" data-value="52.0193">52.0193</li>
<li id="lon" data-value="23.2413">23.2413</li>
</ul>
并将您的 javascript 修改为:
var lat = (parseFloat(document.getElementById('lat').dataset.value));
var lon = (parseFloat(document.getElementById('lon').dataset.value));
我真的不知道PHP,但我认为你应该把它改成这样:
echo '
<ul id="cordinates">
<li id="lat" data-value="',$lat,'">',$lat,'</li>
<li id="lon" data-value="',$long,'">',$lon,'</li>
</ul>';
原始答案:
使用 parseFloat() - Reference
var lat = (parseFloat(document.getElementById('lat').value));
var lon = (parseFloat(document.getElementById('lon').value));
console.log("LAT:: "+lat);
console.log("LON:: "+lon);