在.js文件中获取.aspx控件ID
Get .aspx control ID in .js file
大家好,
(头部)
<script type="text/javascript">
function ChangeColor1(elementid)
{
document.getElementById(elementid).style.backgroundImage = "url('images/1.jpg')";
document.getElementById("<%= img2.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= img3.ClientID%>").style.backgroundImage = "url'images/2.jpg')";
document.getElementById("<%= img4.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= imgchange.ClientID%>").style.backgroundImage = "url('images/img1.JPG')";
}
function ChangeColor2(elementid)
{
document.getElementById(elementid).style.backgroundImage = "url('images/1.jpg')";
document.getElementById("<%= img1.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= img3.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= img4.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= imgchange.ClientID%>").style.backgroundImage = "url('images/img2.JPG')";
}
function ChangeColor3(elementid)
{
document.getElementById(elementid).style.backgroundImage = "url('images/1.jpg')";
document.getElementById("<%= img1.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= img2.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= img4.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= imgchange.ClientID%>").style.backgroundImage = "url('images/img3.JPG')";
}
function ChangeColor4(elementid)
{
document.getElementById(elementid).style.backgroundImage = "url('images/1.jpg')";
document.getElementById("<%= img2.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= img3.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= img1.ClientID%>").style.backgroundImage = "url('images/2.jpg')";
document.getElementById("<%= imgchange.ClientID%>").style.backgroundImage = "url('images/img4.JPG')";
}
</script>
(身体部位)
<table>
<tr>
<td id="img1" runat="server" onmouseover="ChangeColor1(this.id)"
style="background-image: url('images/2.jpg')">
</td>
</tr>
<tr>
<td id="img2" runat="server" onmouseover="ChangeColor2(this.id)"
style="background image: url('images/2.jpg')">
</td>
</tr>
<tr>
<td id="img3" runat="server" onmouseover="ChangeColor3(this.id)"
style="background-image: url('images/2.jpg')">
</td>
</tr>
<tr>
<td id="img4" runat="server" onmouseover="ChangeColor4(this.id)"
style="background-image: url('images/2.jpg')">
</td>
</tr>
</table>
此代码在.ASPX页面中运行良好。
但当我把这个脚本代码放在.js文件中,并在.ASPX页面的头部调用它时,这个.js文件工作不好。
td的ID=img2、ID=img3、ID=img24未传入.js文件。
如何在.js文件中传递所有ID???
在aspx页面上写入
<script>
var img1 = '<%= img1.ClientID%>';
var img2= '<%= img2.ClientID%>';
var img3= '<%= img3.ClientID%>';
var img4= '<%= img4.ClientID%>';
var imgchange= '<%= imgchange.ClientID%>';
</script>
在.js文件中执行
function ChangeColor1(elementid) {
document.getElementById(img1).style.backgroundImage = "url('images/1.jpg')";
document.getElementById(img2).style.backgroundImage = "url('images/2.jpg')";
document.getElementById(img3).style.backgroundImage = "url('images/2.jpg')";
document.getElementById(img4).style.backgroundImage = "url('images/2.jpg')";
}
试试这个,它会帮助你
问题是ASP.NET不会处理您的JS文件并填写占位符。
一种解决方案是强制ID保持静态,例如:
<td id="img4" runat="server" clientidmode="static" onmouseover="ChangeColor4(this.id)"
style="background-image: url('images/2.jpg')">
</td>
clientidmode="static"
属性告诉ASP.NET不要破坏ID。然后您甚至根本不需要使用<%= img1.ClientID%>
。
相关文章:
- .aspx页面JS将在控件似乎由于某种原因而被呈现之前启动Onload脚本
- 将html控件id从aspx文件传递给javascript
- 从 aspx 页中的用户控件访问 ID
- 如何使用 HTTP 发布在 ASPX 页中提交部分或全部控件
- 查找 aspx 页和相应的 ascx 用户控件中存在的所有控件和子控件 ID
- 如何通过客户端上的 JSProperties 访问 DevExpress ASPx 控件
- 使用 Jquery 禁用 ASPX 页上的后台或所有控件
- 如何在我的 aspx 上使用条件更新面板调用自定义控件 javascript
- ASPX 控件中的客户端 OnKeyUp
- 从 aspx 页调用用户控件中的 jquery 函数
- ASPX页面中的用户控件无法使用javascript
- 在.js文件中获取.aspx控件ID
- 如何在aspx页面中的用户控件文本框上设置焦点
- 如何使用JavaScript设置此ASPX控件的文本
- 可以'似乎无法在.aspx页面javascript函数上检索会话值或控件值
- 当iframe中的控件触发click事件时,如何在iframe内重新加载aspx页面
- 从用户控件访问aspx值
- Jquery代码不触发用户控件aspx
- 将服务器控件的值传递给ASPx客户端事件
- 如何在不回发或重新加载页面的情况下在.aspx页面中加载.ascx控件