0

我正在尝试制作一个多页移动应用程序,希望只有两页,并希望将地理位置纬度和经度放入两个单独的表单文本输入中。我希望这发生在按钮按下或点击时。

我真的不知道如何:

  1. 定位表单文本输入字段
  2. 编写函数

这是我到目前为止所拥有的:

<div data-role="fieldcontain">
    <label for="GPS Location">GPS Lat</label>
    <input name="GPS Lat" id="GPSlat" value="" type="text">
</div>
<div data-role="fieldcontain">
    <label for="GPS Location">GPS Long</label>
    <input name="GPS Long" id="GPSlong" value="" type="text">
</div>

<div data-role="content">
    <script type="text/javascript">
        navigator.geolocation.getCurrentPosition(function(position)
        { 
            var lat = pos.coordinates.latitude;
            var lng = pos.coordinates.longitude;
            console.log( lat + ":" + lng);
        });
    </script>
</div>

<input value="SetGPS" id="SetGPS" data-inline="true" type="submit">
<br>
<div data-role="content">
    <script type="text/javascript">  
        $("#SetGPS").click(function(){
        $("#GPSlat input").text(lat);
        $("#GPSlong input").text(lng)
    </script>
</div>          
4

1 回答 1

0

您刚刚犯了一些名称和语法错误:

  • 您创建的函数getCurrentPosition接受一个名为 的参数position,但您在其中引用pos
  • lat并且lng在上述函数中定义,因此它们对click函数不可用
  • 你指的是coordinates,但该字段实际上是调用coords的。
  • 您正在设置输入字段的文本,但您应该设置值
  • 您的输入选择器不正确。他们应该是input#id
  • 您的单击功能缺少右大括号和方括号。

这是您的代码应如下所示:

var lat, lng;

navigator.geolocation.getCurrentPosition(function(position)
{ 
    lat = position.coords.latitude;
    lng = position.coords.longitude;
    console.log( lat + ":" + lng);
});

// ...

$("#SetGPS").click(function()
{
    $("input#GPSlat").val(lat);
    $("input#GPSlong").val(lng);
});
于 2013-06-28T01:01:35.623 回答