簡體   English   中英

如何將javascript變量傳遞給html表單操作標簽

[英]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.latitudegeolocation.longitude分配任何值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM