0

名前、経度、緯度のテキスト フィールドを含む HTML フォームがあります。経度と緯度は JavaScript 変数に格納されます。名前、緯度、経度をサーバーに投稿する方法を知っていますか?つまり、URLを介してですか? フォームを送信するたびに、経度と緯度が 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>
4

2 に答える 2

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);
于 2013-02-26T11:28:21.403 に答える
0

フォームのアクションで、呼び出したいサーブレットの名前を指定する必要があります。3 つの非表示フィールドを使用して、値の名前、経度、緯度を保存します。これは、

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

これらの値は、次を使用してサーブレットで参照できます。request.getParameter('hiddenFieldId');

js でフォームを送信する必要があります。

document.myform.submit();

geolocationvariable はグローバル化されていないため、 function で定義されていませんloc()geolocation.latitudeおよびに割り当てられた値はありませんgeolocation.longitude

于 2013-02-26T11:31:57.467 に答える