以下是验证空文本框的Javascript函数,但我收到错误消息:
" javascript运行时错误无法获取属性'值'未定义或null"。
我已检查此问题的现有答案,但我仍不确定为什么Textbox_login.ClientID
值未被提取。
请指教,谢谢。
<script type ="text/javascript">
function textboxvalidate() {
var login = document.getElementById('<%=Textbox_Login.ClientID%>').value;
if (login == "") {
alert("Please enter a login");
return false;
}
}
</script>
答案 0 :(得分:0)
请添加Tags: Asp.net
您需要将控件上的ClientIDMode属性设置为:
ClientIDMode="Static"
这适用于.Net 4.0及更高版本。
关于ClientIdMode的MSDN文档说明:
静态 ClientID值设置为ID属性的值。如果控件是命名容器,则控件用作 为它的任何控件命名容器的层次结构的顶部 包含。
示例:
<asp:TextBox ID="Textbox_Login" ClientIDMode="Static" runat="server" />
答案 1 :(得分:0)
如果Textbox_Login runat属性设置为server或Textbox_Login元素位于runat服务器的另一个元素内,则无法使用document.getElementById()获取元素
并且您也不需要在此处使用c#代码。只需输入您的元素ID
ex:var login = document.getElementById(“Textbox_Login”)。value;
确保Textbox_Login的runat属性未设置为server,Textbox_Login元素不在runat服务器的其他元素中。