PHP + JS getElementById()。value返回int而不是float

时间:2015-07-09 17:29:53

标签: javascript php html floating-point getelementbyid

编辑:抱歉由于某些原因PHP部分无法正常显示

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

但是,即使PHP中的值是十进制值,在JS中它也是一个int。 我需要获得浮动值,因为它们是Google地图上位置的坐标。

以下是PHP部分:$lat$long是十进制数字(我试图用点替换comas而不是结果

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中获得浮点值? 任何提示对我都有很大的帮助,谢谢。

1 个答案:

答案 0 :(得分:3)

更新:

元素的属性值&lt; li>不是你想要的那种价值。 “这个整数属性表示元素定义的列表项的当前序数值。”Mozilla reference所以我想它会被舍入或者其他东西。

请使用data- *属性存储坐标:

var lat = (parseFloat(document.getElementById('lat').dataset.value)); 
var lon = (parseFloat(document.getElementById('lon').dataset.value)); 

并将您的javascript修改为:

echo '
<ul id="cordinates">
<li id="lat" data-value="',$lat,'">',$lat,'</li>
<li id="lon" data-value="',$long,'">',$lon,'</li>
</ul>';

我真的不懂PHP,但我认为你应该把它改成这个:

var lat = (parseFloat(document.getElementById('lat').value)); 
var lon = (parseFloat(document.getElementById('lon').value)); 
console.log("LAT:: "+lat); 
console.log("LON:: "+lon);

原始回答:

使用parseFloat() - Reference

private XmlDocument GetRootLevelServiceDocument(
string serviceEndPoint, string oAuthToken)
{
XmlDocument xmlDoc = new XmlDocument();
HttpWebRequest request = CreateHttpRequest(serviceEndPoint, 
    oAuthToken);

using (HttpWebResponse response = 
    (HttpWebResponse)request.GetResponse())
{
    using (XmlReader reader = 
        XmlReader.Create(response.GetResponseStream(), 
        new XmlReaderSettings() { CloseInput = true }))
    {
        xmlDoc.Load(reader);

        string data = ReadResponse(response);
        if (response.StatusCode != HttpStatusCode.OK)
        {
            LogMsg(string.Format("Error: {0}", data));
            LogMsg(string.Format(
                "Unexpected status code returned: {0}", 
                response.StatusCode));
        }
    }
}

return xmlDoc;
}