js getelementbyid returns 空
js getelementbyid returns null
getElementById 返回 null 但列表已填充。猜猜哪里出了问题?
HomePage.aspx 和 Map.js
var Center = { lat: 20.452425, lng: -68.545446 };
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
zoom: 3,
center: Center
});
populateMap()
function populateMap()
{
var DiveSiteList2 = document.getElementById("DiveSiteList")
for (var i = 0; i < DiveSiteList2.options.length; ++i)
{...}
}
}
<div id="ListHolder">
<asp:ListBox class="ListBox" ID="DiveSiteList" runat="server"></asp:ListBox>
</div>
HomePage.aspx.cs
private DiveManager.DiveManager Manager;
protected void Page_Load(object sender, EventArgs e)
{
Manager = new DiveManager.DiveManager();
BindDiveList();
}
private void BindDiveList()
{
foreach (DiveSite DS in Manager.MasterDiveSiteList)
{
ListItem Item = new ListItem();
Item.Text = DS.DiveSiteName;
Item.Attributes.Add("Name", DS.DiveSiteName);
Item.Attributes.Add("Latitude", DS.Latitude.ToString());
Item.Attributes.Add("Longitude", DS.Longitude.ToString());
Item.Attributes.Add("ID", DS.DiveSiteID.ToString());
DiveSiteList.Items.Add(Item);
}
}
页面错误:未捕获类型错误:无法读取 属性 'options' of null
在 populateMap (Map.js:19)
请查收
只需在此处更改:
var DiveSiteList2 = document.getElementById('<%= DiveSiteList.ClientID %>')
var Center = { lat: 20.452425, lng: -68.545446 };
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
zoom: 3,
center: Center
});
populateMap()
function populateMap()
{
var DiveSiteList2 = document.getElementById('<%= DiveSiteList.ClientID %>')
for (var i = 0; i < DiveSiteList2.options.length; ++i)
{...}
}
}
<div id="ListHolder">
<asp:ListBox class="ListBox" ID="DiveSiteList" runat="server"></asp:ListBox>
</div>
getElementById 返回 null 但列表已填充。猜猜哪里出了问题?
HomePage.aspx 和 Map.js
var Center = { lat: 20.452425, lng: -68.545446 };
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
zoom: 3,
center: Center
});
populateMap()
function populateMap()
{
var DiveSiteList2 = document.getElementById("DiveSiteList")
for (var i = 0; i < DiveSiteList2.options.length; ++i)
{...}
}
}
<div id="ListHolder">
<asp:ListBox class="ListBox" ID="DiveSiteList" runat="server"></asp:ListBox>
</div>
HomePage.aspx.cs
private DiveManager.DiveManager Manager;
protected void Page_Load(object sender, EventArgs e)
{
Manager = new DiveManager.DiveManager();
BindDiveList();
}
private void BindDiveList()
{
foreach (DiveSite DS in Manager.MasterDiveSiteList)
{
ListItem Item = new ListItem();
Item.Text = DS.DiveSiteName;
Item.Attributes.Add("Name", DS.DiveSiteName);
Item.Attributes.Add("Latitude", DS.Latitude.ToString());
Item.Attributes.Add("Longitude", DS.Longitude.ToString());
Item.Attributes.Add("ID", DS.DiveSiteID.ToString());
DiveSiteList.Items.Add(Item);
}
}
页面错误:未捕获类型错误:无法读取 属性 'options' of null 在 populateMap (Map.js:19)
请查收 只需在此处更改:
var DiveSiteList2 = document.getElementById('<%= DiveSiteList.ClientID %>')
var Center = { lat: 20.452425, lng: -68.545446 };
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
zoom: 3,
center: Center
});
populateMap()
function populateMap()
{
var DiveSiteList2 = document.getElementById('<%= DiveSiteList.ClientID %>')
for (var i = 0; i < DiveSiteList2.options.length; ++i)
{...}
}
}
<div id="ListHolder">
<asp:ListBox class="ListBox" ID="DiveSiteList" runat="server"></asp:ListBox>
</div>