我使用下面的代码获取我当前位置的 LAT 和 LNG,以将其显示在输入表单中,但由于某种原因,它没有按需要显示我的 LAT 和 LNG,而是会瞬间显示 LAT 和 LNG 然后消失。我尝试更改浏览器权限以允许位置,但仍然显示一闪然后消失。有人可以帮忙吗?下面是我的代码:<form> <button onclick="onFormSubmit()">GET CURRENT LOCATION</button><script type="text/javascript">function onGeoSuccess (position) { var lat = position.coords.latitude; var lng = position.coords.longitude; // NEXT 2 LINES WILL SET VALUE OF RESPECTIVE INPUTS document.getElementById('lat').value = lat; document.getElementById('lng').value = lng; // MAKE API CALL HERE, OR ANY OTHER NEXT STEPS } function onGeoError (err) { console.error("Error while trying to get position", err); } function onFormSubmit () { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(onGeoSuccess, onGeoError); } else { alert('GeoLocation not supported or not allowed'); } }</script> <div class="form-group"> <input type="text" name="lat" class="form-control" id="lat" placeholder="Your Latitude" data-msg="Please enter your latitude"> <div class="validate"></div> </div><div class="form-group"> <input type="text" name="lng" class="form-control" id="lng" placeholder="Your Longitude" data-msg="Please enter your Longitude"> <div class="validate"></div> </div> <div class="form-group"> <input type="text" name="subject" class="form-control" id="contact-subject" placeholder="Subject" data-rule="minlen:4" data-msg="Please enter at least 8 chars of subject"> <div class="validate"></div> </div></form>我只想在输入表单上显示 LAT 和 LNG 以及每个 ID,但我不知道做错了什么。它没有按预期显示。
1 回答
吃鸡游戏
TA贡献1829条经验 获得超7个赞
因此,我追溯我的代码并解决错误,发现这只是因为我使用而<button onclick="onFormSubmit()">GET CURRENT LOCATION</button>
不是<button onclick=" return onFormSubmit()">GET CURRENT LOCATION</button>
. 当我出于某种原因拨打电话时,onFormSubmit
它onclick
会出现一瞬间然后消失,但当我拨打电话时,return onFormSubmit()
一切onclick
都会正常工作。
添加回答
举报
0/150
提交
取消