Проверка текстового поля с использованием JavaScript в MasterPage - PullRequest
0 голосов
/ 17 сентября 2010

Я использую JavaScript для customValidator для проверки текстовых полей в ASP.Net.Код работает отлично, когда я использую обычную страницу, но как только я помещаю это в MasterPage, код не работает.

Ниже приведен код для моей страницы aspx.Если я помещу этот код в MasterPage, он не будет работать.Не могли бы вы, ребята, посоветовать мне, как сделать это внутри MasterPage

Спасибо, Абхи.

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">

<script type="text/javascript">
 function validateOrFields(source, args){
 var sUser = document.getElementById('TextBox1');

   if (sUser.value == "")
   {
      args.IsValid = false;
   }
   else
   {
      args.IsValid = true;
   }  
   return;  
 }

<div>
    <asp:TextBox ID="TextBox1"
        runat="server"></asp:TextBox>
        <asp:CustomValidator ID="FieldValidator" 
                    runat="server" 
                    Text="Enter either a user name" 
                    ClientValidationFunction="validateOrFields" onservervalidate="FieldValidator_ServerValidate"/>
        <asp:Button ID="Button1" runat="server" Text="Button" />
</div>
</form>
</body>
</html>

Ответы [ 3 ]

2 голосов
/ 17 сентября 2010

Проблема в идентификаторе TextBox.При помещении на главную страницу он получает другой идентификатор клиента.

var sUser = document.getElementById('<%= TextBox1.ClientID %>');
1 голос
/ 17 сентября 2010

вам нужно получить идентификатор с помощью ClientID

Замените ваш код на

var sUser = document.getElementById('<%= TextBox1.ClientID %>');
0 голосов
/ 17 сентября 2010

Попробуйте document.getElementById ('ct100_TextBox1'). Value.Это просто временное исправление !!Но кто-нибудь, пожалуйста, предложите, как получить этот идентификатор динамически, используя код.Я получил это, просмотрев источник сгенерированной страницы.Я также разместил этот же вопрос здесь текст ссылки

...