如何将javascript变量传递给html表单操作标记
我有一个html表单,其中包含名称、经度和纬度文本字段。经度和纬度存储在javascript变量中。你知道如何将名字、纬度和经度通过url发布到服务器上吗?每次我提交表单时,经度和纬度都不会传递到url中?谁能告诉我怎么做 多谢各位 这是我的javascript和html代码:如何将javascript变量传递给html表单操作标记,javascript,html,web,Javascript,Html,Web,我有一个html表单,其中包含名称、经度和纬度文本字段。经度和纬度存储在javascript变量中。你知道如何将名字、纬度和经度通过url发布到服务器上吗?每次我提交表单时,经度和纬度都不会传递到url中?谁能告诉我怎么做 多谢各位 这是我的javascript和html代码: if (navigator.geolocation) { var geolocation = {}; geolocation.latitude = 0; geolocation.longi
if (navigator.geolocation) {
var geolocation = {};
geolocation.latitude = 0;
geolocation.longitude = 0;
navigator.geolocation.getCurrentPosition(function (p) {
geolocation.latitude = p.coords.latitude;
geolocation.longitude = p.coords.longitude;
}, function (error) {
alert("Failed to get GPS location");
});
} else {
alert("Failed to get GPS working");
}
function loc() {
document.getElementById("longitude").value = geolocation.latitude;
document.getElementById("latitude").value = geolocation.longitude;
}
html:
姓名:
经度:
纬度:
图片:
您可以向表单中添加元素
var myForm = document.getElementById('myForm');
var longitude = document.createElement('input');
longitude.name= 'longitude';
longitude.value = '100';
var latitude= document.createElement('input');
latitude.name= 'latitude';
latitude.value = '100';
myForm.appendChild(longitude);
myForm.appendChild(latitude);
在表单的操作中,您需要提到要调用的servlet的名称。使用三个隐藏字段存储名称、经度和纬度值。这可以通过使用
document.getElementById('hiddenFieldId1')。值=经度代码>
document.getElementById('hiddenFieldId2')。值=纬度代码>
document.getElementById('hiddenFieldId3')。value=name代码>
这些值可以在servlet中使用request.getParameter('hiddenFieldId')引用代码>
您需要在js中提交表单:
document.myform.submit()代码>
geolocation
变量尚未设置为全局变量,因此未在函数loc()
中定义该变量。没有为geolocation.latitude
和geolocation.longitude
指定值。让我们看看表单的HTML,以及您已有的任何JavaScript代码。感谢您的回答。您的意思是地理位置变量应该在IF语句之外吗。如果没有,你能给我一个如何做的示例代码吗?感谢您这个声明var geolocation={}
应该在if之外生成。再次感谢您的帮助,我应该在代码的哪一部分放置“document.getElementById('hiddenFieldId1')。value=longitude;document.getElementById('hiddenFieldId2')。value=latitude;document.getElementById('hiddenFieldId3')。value=name;”?谢谢
var myForm = document.getElementById('myForm');
var longitude = document.createElement('input');
longitude.name= 'longitude';
longitude.value = '100';
var latitude= document.createElement('input');
latitude.name= 'latitude';
latitude.value = '100';
myForm.appendChild(longitude);
myForm.appendChild(latitude);