【发布时间】:2014-02-13 17:37:28
【问题描述】:
我在一个 aspx 页面中使用多个 aspx 用户控件实例时遇到了问题。当我尝试通过 Java 脚本获取用户控件元素值时会发生这种情况。
用户控制代码:
<script type="text/javascript">
function ucFun()
{
var a = document.getElementById("<%=tbName.ClientID%>");
alert(a.value);
return false;
}
</script>
<asp:Label Text="Name" runat="server" ID="lblname"></asp:Label>
<asp:TextBox ID="tbName" runat="server" ></asp:TextBox>
<asp:Button ID="btSubmit" runat="server" Text="Go" OnClientClick="ucFun()" />
网页表单代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<uc:cont runat="server" ID="ucID" />
<uc:cont runat="server" ID="Cont1" />
<uc:cont runat="server" ID="Cont2" />
</div>
</form>
</body>
</html>
单击“执行”按钮时,它会在警报框中显示 null,因为该元素未定义。 但是,当我在表单中有一个用户控件实例时,它会正确显示文本框的值。
有什么办法可以写这个吗..
【问题讨论】:
-
由于您的函数名称没有改变,当您添加第二个控件时,
ucFun的第一个版本将被覆盖。 -
感谢鲁本斯的回复。如果我需要验证 UC 字段,那么我必须在 UC 上编写 JS 获取字段值。使用多个 UC 实例将失败。我们怎样才能实现它
标签: javascript asp.net webusercontrol