[英]How to pass a javascript variable to an html form action tag
我有一個HTML表單,其中包含名稱,經度和緯度文本字段。 經度和緯度存儲在javascript變量中。 您是否知道如何通過網址將名稱,緯度和經度發布到服務器? 每次我提交表單時,經度和緯度都不會傳遞到url中嗎? 誰能告訴我該怎么做?
謝謝
這是我的javascript和html的代碼:
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:
<form name="photo" method="post" action="url">
<label for="name">Name:</label>
<input type="text" name="name" id="Text1" value="" />
<label for="longitude">Longitude:</label>
<input type="text" name="longitude" id="longitude" />
<label for="latitude">Latitude:</label>
<input type="text" name="latitude" id="latitude" />
<label for="image">Image:</label>
<input type="text" name="image" id="image" />
<input type="submit" value="Submit" />
</form>
您可以在表單中添加元素...
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').value=longitude;
document.getElementById('hiddenFieldId2').value=latitude;
document.getElementById('hiddenFieldId3').value=name;
可以使用request.getParameter('hiddenFieldId');
在servlet中引用這些值request.getParameter('hiddenFieldId');
您需要在js中提交表單:
document.myform.submit();
geolocation
變量尚未設為全局變量,因此未在函數loc()
定義。 沒有為geolocation.latitude
和geolocation.longitude
分配任何值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.