我在所有页面上加载了以下代码(所有功能都包含在一起)。但输入 location1 和 location2 仅存在其中一个页面。并且不会影响功能性,但每次我检查不存在这些输入的页面上的javascript日志时,我会收到错误“InvalidValueError:不是HTMLInputElement的实例”(Firefox)。
JavaScript的:
Spinner
和这个空间页面上的非常基本的表单输入(预先填充)控制台错误没有显示:
HTML:
var autocomplete1 = new google.maps.places.Autocomplete($("#location1")[0], {});
google.maps.event.addListener(autocomplete1, 'place_changed', function() {
var place1 = autocomplete1.getPlace();
});
var autocomplete2 = new google.maps.places.Autocomplete($("#location2")[0], {});
google.maps.event.addListener(autocomplete2, 'place_changed', function() {
var place2 = autocomplete2.getPlace();
});
我想知道我能做些什么来避免这个错误?任何建议
答案 0 :(得分:0)
是的,你可以通过测试像这样的醋栗页面来避免它
var x = location.href // this will give you the absolute url of the page
if(x=="the url of page where the input exist"){
var autocomplete1 = new google.maps.places.Autocomplete($("#location1")[0], {});
google.maps.event.addListener(autocomplete1, 'place_changed', function() {
var place1 = autocomplete1.getPlace();
});
}
因此,通过这种方式,脚本将不会进入该块,直到它验证该伪造
答案 1 :(得分:0)
好吧,我想出了什么。但是如果有任何改进的话,请评论。
var location1 = $("#location1").val();
if (location1 === undefined ){} else {
var autocomplete1 = new google.maps.places.Autocomplete($("#location1")[0], {});
google.maps.event.addListener(autocomplete1, 'place_changed', function() {
var place1 = autocomplete1.getPlace();
});
}
var location2 = $("#location2").val();
if (location2 === undefined ){} else {
var autocomplete2 = new google.maps.places.Autocomplete($("#location2")[0], {});
google.maps.event.addListener(autocomplete2, 'place_changed', function() {
var place2 = autocomplete2.getPlace();
});
}