数组不是'I don’我没有和其他表格一起寄出
array isn't being posted along with the rest of my form
我试图从谷歌地图API发布一个带有额外边界数组的表单,我已经研究了其他问题,隐藏表单主要与表单提交挂钩一起使用:
如何在提交前向表单添加其他字段?
在提交之前添加POST参数
所以这就是我一直在尝试做的事情——尽管我不确定为什么会发送默认值而不是我设置的值?
javascript:
var autocomplete = new google.maps.places.Autocomplete(document.getElementById('city'));
var autocomplete2 = new google.maps.places.Autocomplete(document.getElementById('destination'));
var directionsService = new google.maps.DirectionsService();
var rboxer = new RouteBoxer();
$("#form").submit(function(e) {
var req = {
origin: $('#city').val(),
destination: $('#destination').val(),
travelMode: google.maps.TravelMode.DRIVING
};
var boundArray = [];
directionsService.route(req, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
var path = response.routes[0].overview_path;
var boxes = rboxer.box(path, 30);
for (var i = 0; i < boxes.length; i++) {
boundArray.push(boxes[i].toUrlValue());
}
document.getElementById('bounds').setAttribute('value', JSON.stringify(boundArray));
return true;
}
});
});
html:
<input id="bounds" type="hidden" name="bounds"/>
<div class="form-group row">
<div class="col-lg-5">
<button type="submit" value="Submit" id="subBtn" class="btn btn-lg btn-primary sub-btn">Confirm</button>
</div>
</div>
提前感谢
Dan
编辑:我已经更改了代码,所以现在我在POST请求中得到了一些东西——一个空白数组?
$("#form").submit(function(e) {
var req = {
origin: $('#city').val(),
destination: $('#destination').val(),
travelMode: google.maps.TravelMode.DRIVING
};
var boundArray = [];
directionsService.route(req, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
var path = response.routes[0].overview_path;
var boxes = rboxer.box(path, 30);
for (var i = 0; i < boxes.length; i++) {
boundArray.push(boxes[i].toUrlValue());
}
}
});
$('#bounds').val(JSON.stringify(boundArray));
return true;
});
谢谢,我似乎已经成功了:
function doAsync(callback) {
var req = {
origin: $('#city').val(),
destination: $('#destination').val(),
travelMode: google.maps.TravelMode.DRIVING
};
var boundArray = [];
directionsService.route(req, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
var path = response.routes[0].overview_path;
var boxes = rboxer.box(path, 30);
for (var i = 0; i < boxes.length; i++) {
boundArray.push(boxes[i].toUrlValue());
}
$("#bounds").val(JSON.stringify(boundArray));
callback();
}
});
}
$("#form").submit(function(e) {
doAsync(function () {
$('#form').submit();
return true;
});
//return false;
});
directionsService.route正在进行异步调用。在实际提交表单之前,需要等待服务调用完成。我修改了你的退出代码。希望这对你有用。。
var flag = false;
$("#form").submit(function(e) {
var req = {
origin: $('#city').val(),
destination: $('#destination').val(),
travelMode: google.maps.TravelMode.DRIVING
};
if(!flag)
directionsService.route(req, function (response, status) {
var boundArray = [];
if (status == google.maps.DirectionsStatus.OK) {
var path = response.routes[0].overview_path;
var boxes = rboxer.box(path, 30);
for (var i = 0; i < boxes.length; i++) {
boundArray.push(boxes[i].toUrlValue());
}
}
$('#bounds').val(JSON.stringify(boundArray));
flag = true;
$("#form").submit();
});
}else{
flag = false;
return true;
}
return false;
});
相关文章:
- 如何添加浮动和非浮动,其他
- 与其他库的jQuery.noConflict()
- 播放当前视频时如何停止其他视频?JavaScript
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- 我应该使用Ng提交还是点击表格
- CSS表格:从列平移到整个表格宽度
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 隐藏其他列后如何修复 html 表格列宽度
- 谷歌电子表格将一些值存储在其他单元格中
- 切换其他表格行的可见性
- 通过填写其他网站上的表格登录到网站
- 张贴表格,然后下载其他网页
- 与其他表格一起提交表格's数据
- 数组不是'I don’我没有和其他表格一起寄出
- 如果选中了表格复选框,请取消选中其他表格复选框
- 自定义功能在谷歌电子表格:一个人之间的分歧和其他组
- 通过改变z-index用Javascript激活其他表的表格单元格
- 禁用表格行中的所有其他复选框
- 禁用html表格单元格中的复选框,在选中同一行的其他单元格中的复选框
- 我应该使用什么技术来实现这个web UI特性?(HTML框架或表格或其他)