我想要一个带有自动搜索 JavaScript 的文本框。我的 Aspx 文本框是:
<asp:TextBox ID="txt_DestinationRoute" runat="server" CssClass="form-control" placeholder="e.g. Route you followed" TextMode="MultiLine" Rows="2"></asp:TextBox>
<asp:RequiredFieldValidator ValidationGroup="destinations" ID="rfvtxt_DestinationRoute" ControlToValidate="txt_DestinationRoute" Display="Dynamic" runat="server" ErrorMessage="*" ForeColor="Red"></asp:RequiredFieldValidator>
我的 JavaScript 是:
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places"></script>
<script type="text/javascript">
google.maps.event.addDomListener(window, 'load', function () {
var places = new google.maps.places.Autocomplete(document.getElementById('txt_DestinationRoute'));
google.maps.event.addListener(places, 'place_changed', function () {
var place = places.getPlace();
var address = place.formatted_address;
var latitude = place.geometry.location.A;
var longitude = place.geometry.location.F;
var mesg = "Address: " + address;
mesg += "\nLatitude: " + latitude;
mesg += "\nLongitude: " + longitude;
//document.getElementById('lat').innerHTML = latitude;
//document.getElementById('log').innerHTML = longitude;
alert(mesg);
});
});
</script>
当我尝试使用没有任何 CSS 类的普通文本框时它工作正常 但它不适用于 CSS。
最佳答案
问题是 asp 为客户端生成了不同的 id,尝试:
<asp:TextBox ClientIDMode="Static"
同时在代码检查器中查看生成的文本框。
否则你可以试试这个:
var places = new google.maps.places.Autocomplete(document.getElementById('<%= txt_DestinationRoute.ClientID %>'));
关于javascript - 自动搜索的 Java 脚本不适用于带有 CSS 的文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31241158/