2014-09-24 82 views
0

对于JSP和javascript来说,这是相当新颖的。我使用JavaScript计算两个地方之间的距离并将距离存储在文本框中。 document.getElementById('dist').value = drivingDistanceKilometers;将一个javascript中设置的参数从一个jsp发送到另一个jsp

但是,当我尝试使用String dist = request.getParameter("dist");检索值时,我没有收到任何价值。

另外我尝试使用document.location.href = "bookings.jsp?dist="+drivingDistanceKilometers; 这是第一次工作,但当我再试一次,它没有价值。

我该如何解决这个问题?

共享更多的代码:

这里面book.jsp

的Javascript:

<script> 
var geocoder, location1, location2, gDir; 

function initialize() { 
    geocoder = new GClientGeocoder(); 
    gDir = new GDirections();   
} 

function showLocation() { 
    geocoder.getLocations(document.form2.pickUp.value, function (response) { 
     if (!response || response.Status.code != 200) 
     { 
      alert("Sorry, we were unable to geocode the first address"); 
     } 
     else 
     { 
      location1 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address}; 
      geocoder.getLocations(document.form2.dropOff.value, function (response) { 
       if (!response || response.Status.code != 200) 
       { 
        alert("Sorry, we were unable to geocode the second address"); 
       } 
       else 
       { 
        location2 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address}; 
        gDir.load('from: ' + location1.address + ' to: ' + location2.address); 
        calculateDistance(); 
       } 
      }); 
     } 
    }); 
} 

function calculateDistance() 
{ 
    GEvent.addListener(gDir, "load", function() { 

     var drivingDistanceKilometers = gDir.getDistance().meters/1000; 
     document.getElementById('dist').value = drivingDistanceKilometers; 

    }); 
} 
</script> 

HTML:

<body onload="initialize()"> 

<form name="form2" onSubmit=" showLocation(); " method="post" action="bookings.jsp" > 

<input type="text" id="dist" name="dist" value="0" > 
<input name="pickUp" type="text"> 
<input name="dropOff" type="text"> 
<input type="submit" value="Submit"> 

</form> 
</body> 

内bookings.jsp:

<body> 
<% 
String dist = request.getParameter("dist"); 
out.println(dist); 
%> 
</body> 
+0

你确定你有一个值'drivingDistanceKilometers' – Tariq 2014-09-24 12:30:46

+0

@Tariq是的。如果我没有表单操作,那么距离值出现在文本框中,当我点击我的提交按钮。 – Sachin 2014-09-24 12:39:02

+0

实际上使用普通的JSP。与HTML或PHP页面相比,完全没有区别。你需要查看你的代码。或者更好的分享一些代码,让我们更好地了解问题 – Tariq 2014-09-24 13:08:24

回答

0

实际上并没有名称为dist的输入字段。你需要做的是改变你的HTML并插入到你这形成

<input type="hidden" id="dist" name="dist" value="0"/>

所以,你的代码可能是这样的:

<form name="form2" onSubmit=" showLocation(); " method="post" action="bookings.jsp" > 

<input type="hidden" id="dist" value="0"/> 
<input name="pickUp" type="text"> 
<input name="dropOff" type="text"> 
<input type="submit" value="Submit"> 

</form> 
+0

我试着用'' 这不起作用..所以我改变了文字的类型。现在它显示了文本框中的距离,但是out.println(dist);'给了我value = 0 – Sachin 2014-09-24 14:25:43

相关问题