客户端验证错误

3
<%@ Page Language="C#" MasterPageFile="~/HomeMaster.master" AutoEventWireup="true" CodeFile="HomePage.aspx.cs" Inherits="Default2" Title="Untitled Page" %>

<asp:Content ID="Content1" ContentPlaceHolderID="cp1" Runat="Server">

<script language="javascript" type="text/javascript">
    function checkInput()  
{  
  var uname = document.getElementById("txtUName").value;  
  var pwd = document.getElementById("txtPWord").value;  
  var counter=0;  
  if(uname.length==0) counter++;  
  if(pwd.length==0) counter++;  
  if(counter > 0)  
   {
   document.getElementById("dvError").innerHTML = "user name or password can not be blank" ;
        // alert("blank field");  

      return false;
    }
   return true; 
   }  


    </script>
   <div id="dvError"  style="height: 102px; color:Red; "  ></div>


**on button click::**
<asp:Button ID="btnSin" runat="server" Text="SignIn" OnClientClick="return checkInput()" onclick="btnSin_Click" />

然后我遇到了一个错误: Microsoft JScript运行时错误:需要对象


只提供您遇到错误的行。设置断点或其他方式来实现。 - Nagaraj Tantri
@Nagaraj:我在这一行 var uname = document.getElementById("txtUName").value; 遇到了错误。 - ashish
1个回答

4

请尝试

var uname = document.getElementById("<%=txtUName.ClientID%>").value;  

你需要这样做是因为内容页面上控件的ID会被更改。尝试查看页面源代码,你会看到ID已经发生了变化。


谢谢Nadeem,现在它工作得很好 :) 你能告诉我为什么我们应该使用这个吗? - ashish
为什么这些ID只在主页面引用时发生变化,而这段代码在简单页面中运行良好? - ashish
id变化的原因是你可能在母版页和内容页上有相同id的控件。 - Mohammad Nadeem

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接