将一个javascript中设置的参数从一个jsp发送到另一个jsp
对于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>
实际上并没有名称为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>
我试着用'' 这不起作用..所以我改变了文字的类型。现在它显示了文本框中的距离,但是out.println(dist);'给了我value = 0 – Sachin 2014-09-24 14:25:43
你确定你有一个值'drivingDistanceKilometers' – Tariq 2014-09-24 12:30:46
@Tariq是的。如果我没有表单操作,那么距离值出现在文本框中,当我点击我的提交按钮。 – Sachin 2014-09-24 12:39:02
实际上使用普通的JSP。与HTML或PHP页面相比,完全没有区别。你需要查看你的代码。或者更好的分享一些代码,让我们更好地了解问题 – Tariq 2014-09-24 13:08:24