谷歌地图自动完成;I don’我只写两页(两种不同的表格)
Google Maps Autocomplete doesn't work on 2 pages (2 different forms)
以下是谷歌自动完成的设置:
<script type="text/javascript">
function initialize() {
var from1_input = document.getElementById('autocomplete_from1'); // website.com/page1
var to1_input = document.getElementById('autocomplete_to1'); // website.com/page1
var from2_input = document.getElementById('autocomplete_from2'); // website.com/page2
var to2_input = document.getElementById('autocomplete_to2'); // website.com/page2
var autocomplete_from1_input = new google.maps.places.Autocomplete(from1_input); // website.com/page1
var autocomplete_to_1_input = new google.maps.places.Autocomplete(to1_input); // website.com/page1
var autocomplete_from2_input = new google.maps.places.Autocomplete(from2_input); // website.com/page2
var autocomplete_to2_input = new google.maps.places.Autocomplete(to2_input); // website.com/page2
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
问题是/page1上的表单运行良好,但在/page2中,自动完成功能不起作用。
我已经尝试删除page1的javascript,谷歌自动完成在那里运行得很好,所以这意味着自动完成在page 1age 2上运行,但不幸的是,现在两者都在运行。
ID正确。
为什么?谷歌方面有什么限制吗?还是我忽略了什么?
谢谢大家。
编辑:
<%= javascript_include_tag "https://maps.googleapis.com/maps/api/js?sensor=false&libraries=places,geometry" %>
包含在标头中。
那么您有一个输入为#autocomplete_from1
和#autocomplete_to1
的页面,而另一个页面输入为#autocomplete_from2
和#autocomplete_to2
?
当出现错误时,浏览器会停止脚本执行,当您在第2页时,错误发生在这里:
var autocomplete_from1_input = new google.maps.places.Autocomplete(from1_input);
由于输入不存在,因此将不会执行以下语句。
您必须避免此错误。有不同的可能解决方案,例如try/catch语句
function initialize() {
//try to run the code for page1
try{
var from1_input = document.getElementById('autocomplete_from1');
var to1_input = document.getElementById('autocomplete_to1');
var autocomplete_from1_input = new google.maps.places.Autocomplete(from1_input);
var autocomplete_to_1_input = new google.maps.places.Autocomplete(to1_input);
}
//in case of an error run code for page2
catch(e){
var from2_input = document.getElementById('autocomplete_from2');
var to2_input = document.getElementById('autocomplete_to2');
var autocomplete_from2_input = new google.maps.places.Autocomplete(from2_input);
var autocomplete_to2_input = new google.maps.places.Autocomplete(to2_input);
}
}
相关文章:
- 连续两页返回Javascript
- 使用javascript单击同一按钮,在两种样式之间更改css值
- 把两种不同的形式合为一
- 在两整页上打印两张图像
- JS分页两页视图
- 相同的css和HTML代码,但在两页上看起来不同
- 你能把一个字体分成两页吗?
- 交替自动重新加载两页
- 访问允许在我的两页之间建立组织
- 在两页中显示JSON中的信息
- 在同一页上使用两个具有两种不同日期格式的日期选择器
- 使用 AJAX 从两页上的数据填充网页
- 谷歌地图自动完成;I don’我只写两页(两种不同的表格)
- 两页中的文本相同但不同<a>风格
- Javascript更新超过两页
- JavaScript的回退功能不能在两页深的地方工作
- 深入了解如何将两个表单字段提交到两页之外的单独页面
- Parents方法没有;关闭两页不起作用
- PHP变量到javascript,两页.php和.html
- HTML / js.需要在一页上分别提交两种不同的表格