【问题标题】:PHP+JS getElementById().value return int instead of floatPHP+JS getElementById().value 返回 int 而不是 float
【发布时间】:2015-07-09 17:29:53
【问题描述】:

编辑:抱歉,由于某种原因 PHP 部分没有正确显示

我正在尝试使用 getElementByID().value 从 JavaScript 中的 PHP/HTML 获取价值。

然而,即使 PHP 中的值是十进制的,在 JS 中它也是一个 int。 我需要获取浮点值,因为这些是谷歌地图上位置的坐标。

这是 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);

网页端的示例输出: 53.9933371, -6.3912622 和控制台 LAT:: 53 LON:: -6

我做错了什么? 如何在 JS 中获取浮点值? 任何提示都会对我有很大帮助,谢谢。

【问题讨论】:

    标签: javascript php html floating-point getelementbyid


    【解决方案1】:

    更新:

    元素

  • 的属性值不是你想要的那种值。 “这个整数属性表示由元素定义的列表项的当前序数值。”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);
    
  • 【讨论】:

    • 我也在使用它:/没有结果
    • 您能否为 jsfiddle 提供从您的应用程序呈现的 HTML?你用的是什么浏览器?
    • 对不起,我不知道如何使用 jsfiddle。我正在使用 Chrome 浏览器
    • 是的,效果很好,谢谢,祝你有美好的一天
    • 再问一个问题,如果整个事情在 localhost 上工作,但当我把它放在真正的服务器上时,它没有。我正在使用:$xml = simplexml_load_file($request_url) 或死(“网址未加载”);并获取未加载的消息网址
    猜你喜欢
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多