2013-02-26 22 views
0

我有包含名字,經度和緯度文本字段的HTML表單。經度和緯度存儲在一個JavaScript變量中。你知道如何發佈名稱,緯度和經度的服務器,我的意思是通過一個網址?每次我提交表單時,經度和緯度都不會傳遞給url?任何人都可以請告訴我該怎麼做?如何對一個JavaScript變量傳遞到HTML表單操作標記

謝謝

這是我爲我的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> 
+1

讓我們來看看窗體的HTML,加上無論你已經有了JavaScript代碼。 – 2013-02-26 11:26:41

回答

0

在交流您需要提及您要調用的servlet的名稱。利用三個隱藏字段來存儲值名稱,經度和緯度。

document.myform.submit();

:這可以通過使用

document.getElementById('hiddenFieldId1').value=longitude; document.getElementById('hiddenFieldId2').value=latitude; document.getElementById('hiddenFieldId3').value=name;

這些值可以在使用request.getParameter('hiddenFieldId');

您需要提交的形式,你的js中的servlet被稱爲完成

geolocation變量尚未取得全球性的,所以它是不在您的功能loc()中定義。有沒有分配到geolocation.latitudegeolocation.longitude值。

+0

謝謝你的回答。你的意思是說,地理位置變量應該在IF語句之外。如果沒有,請給我一個如何做的例子代碼?謝謝 – 2013-02-26 11:59:39

+0

這個聲明'var geolocation = {};'應該在if之外進行。 – Aashray 2013-02-26 12:01:11

+0

感謝烏拉圭回合的幫助再次,在我的代碼部分我把這個「的document.getElementById(‘hiddenFieldId1’)值=經度;的document.getElementById(‘hiddenFieldId2’)值=緯度。的document.getElementById(」 。hiddenFieldId3' )值=名;「?謝謝 – 2013-02-26 12:07:08

0

你可以添加元素的形式...

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); 
相關問題