我在aspx文件中有这段代码。
<form runat="server">
哪个不应该复杂。但原来是这样的。 在我的计算机和测试环境中,它转换为:
<form id="aspnetForm" ....>
但是在制作上它会变成:
<form id="ctl00" .... >
非常感谢我的前任很多JS迷上了“aspnetForm”id,而且它无法正常工作。
那么这个id代差异来自哪里?
P.S。我知道其中一个解决方案只是重写JS查询或在表单上放置类标记然后查询它。虽然我仍然对这些事情发生的原因感兴趣。
答案 0 :(得分:0)
您可以使用ClientIdMode
至Static
答案 1 :(得分:-1)
开始编辑
在您的电脑和测试环境中使用哪个版本的.Net框架以及在服务器上使用哪个版本? - 这将大大影响任何答案的正确性,以确定其发生的原因 - 特别是如果它们略有不同。页面上只有一个表单吗?
结束编辑
要在javascript中获取表单名称,请使用以下命令:
<script>
theForms = document.getElementsByTagName("form");
for(i=0;i<theForms.length;i++)
alert(theForms[i].name);
</script>
如果只有一种形式:
<script>
theForms = document.getElementsByTagName("form");
alert(theForms[0].name);
</script>