我正在尝试创建一个函数,当用户点击Map时,它会自动记录经度和纬度,并将它们存储到变量中。这些变量将用作HTML表单的隐藏输入值。
Javascript语言:
map.on('click', function(e) {
var latitude = e.latlng.lat;
var longitude = e.latlng.lng;
console.log(latitude)
console.log(longitude)
document.getElementById("longtitude").value = JSON.stringify(longitude);
document.getElementById("latitude").value = JSON.stringify(latitude);
});
HTML隐藏输入:
<body>
<div class="form-popup" id="myForm">
<form method='POST'
id = "comment-form"
action="https://sheetdb.io/api/v1/coogkakrw27a5"
class="form-container">
<div if="form_alerts"></div>
<h2>Comment</h2>
<input type="hidden" id="longtitude" name="data[longitude]" value="">
<input type="hidden" id ="latitude" name="data[latitude]" value="">
</form>
</div>
</body>
我希望每次用户点击时隐藏的输入值都会改变,但它似乎根本没有改变。我不确定出了什么问题。
1条答案
按热度按时间2ledvvac1#
指定纬度和经度变量时出错。请使用
var latitude = e.lngLat.lat; var longitude = e.lngLat.lng;
代替e.latlng.lat和e.latlng.lng。在这个简单的示例
https://jsfiddle.net/ToniBCN/rjqawbn4/8/
中查看它的实际操作