проверка с помощью asp.net с использованием JavaScript - PullRequest
2 голосов
/ 17 ноября 2009

Мне нужно проверить список максимум для трех элементов, которые пользователь может выбрать ...

У меня есть написать код, который работает нормально ...

но если я буду использовать тот же код в валидаторе клиента в asp.net, он ... выскакивает сообщение, которое выбирает максимум три элемента ... но после этого страница возвращается на сервер ... этого не должно случиться ...

Дайте мне решение, пожалуйста, на валидаторе клиента ....

мой код здесь ... для пользовательского валидатора ....

здесь lbohobby - это список с хобби ....

Функция валидации выглядит следующим образом ....

function Validate() 
 { 
     var lblCount=0; 
     var lbGenre = document.getElementById("<%=lbohobby.ClientID %>");
     for(var x = 0; x < lbGenre.options.length; x++) 
     { 
          if(lbGenre.options[x].selected) 
          { 
               lblCount+=1; 
               alert(lblCount);
          } 
     } 
     if(lblCount > 3) 
     {               
          alert("maximum Three!");   
          return false; 
     } 
} 

пожалуйста, ответьте мне ...

Ответы [ 2 ]

1 голос
/ 17 ноября 2009

Измените вашу функцию так:

function Validate(sender, args) 
 { 
     args.IsValid = true;
     var lblCount=0; 
     var lbGenre = document.getElementById("<%=lbohobby.ClientID %>");
     for(var x = 0; x < lbGenre.options.length; x++) 
     { 
          if(lbGenre.options[x].selected) 
          { 
               lblCount+=1; 
               alert(lblCount);
          } 
     } 
     if(lblCount > 3) 
     {               
          alert("maximum Three!");   
          args.IsValid = false;
     } 
}
1 голос
/ 17 ноября 2009

Вместо возврата false вы должны использовать args.IsValid = false. Также необходимо добавить входные параметры функции - sender и args.

function Validate(sender, args)  
{
    args.IsValid = true
    var lblCount=0;      
    var lbGenre = document.getElementById("<%=lbohobby.ClientID %>");     
    for(var x = 0; x < lbGenre.options.length; x++)      
    {           
        if(lbGenre.options[x].selected)           
        {                
            lblCount+=1;                
            alert(lblCount);  
        }      
    }      
    if(lblCount > 3)      
    {                         
        alert("maximum Three!");
        args.IsValid = false;    
    }
}
...