您好我的ASP SharePoint网页部件页面中的javascript存在问题。该页面的构建与任何其他ASP页面相同,因此它在SharePoint中托管的事实不应该有任何区别。
问题在于我在页面中的javascript。我有由8个单元组成的Html表。对于这些单元格中的每一个,我在其中显示不同的div,其中包含不同的数据。
问题在于我试图显示的Div的ID。 Divs ID在运行时更改,但也每天更改,因此无法手动输入。
HTML:
<div id="Main" style="display: none;
<div id="hover1" runat="server" style="display: none">
Test
</div>
</div>
<table id="Table3" runat="server" >
<tr id="Tr8" runat="server" >
<td id="status1" runat="server" onmouseover="getDataXML('hover1')" onmouseout="hideDiv('hover1')">
Received
</td>
</tr>
</table>
id&#39; hover1&#39;在运行时被替换为&#39; ctl00_m_g_6ddac285_ceb9_4b5a_9095_c4b216cf7dfd_ctl00_hover1&#39;
使用Javascript:
function getDataXML(getID) {
document.getElementById('Main').style.display = "block";
document.getElementById(getID).style.display = "block";
};
如果我使用生成的ID并对其进行硬编码,但javascript会有效,但ID会每天更改,这意味着它会成为一个问题。任何帮助,我将不胜感激
此致
答案 0 :(得分:2)
将clientIdMode = static设置为元素
<div id="hover1" clientIdMode="static" runat="server" style="display: none">
答案 1 :(得分:0)
你必须像这样传递clientId:
onmouseover="getDataXML('<%=hover1.ClientID %>')"
或者将 ClientIDMode 设置为静态,但在这种情况下,如果您在aspx中更改div id,则必须明确更改您使用Id的位置,它将是很难抓住没有编译时错误。