2009-11-17 9 views
2

je dois valider listbox pour un maximum de trois éléments à sélectionner par l'utilisateur ...avec asp.net en utilisant javascript

j'ai le code d'écriture qui fonctionne très bien ...

mais si i » ll utilisera le même code dans le validateur du client dans asp.net il ... pop ups le msg qui s'il vous plaît sélectionner un maximum de trois articles .. mais après cela, la page sera renvoyée au serveur ... cela ne devrait pas arriver ...

me donner la solution s'il vous plaît le client validateur ....

mon code est son e ... pour validateur personnalisé ....

ici lbohobby est le passe-temps .... avec listbox

la fonction Valider est la suivante ....

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; 
    } 
} 

répondez-moi ...

Répondre

1

Modifier votre fonction comme ceci:

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

Au lieu de retourner false, vous devez utiliser args.IsValid = false. Vous devez également ajouter les paramètres d'entrée de la fonction - expéditeur et arguments.

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;  
    } 
} 
+0

k, j'ai vu 4 ou 5 questions comme aujourd'hui ALONE, ce qui ne va pas avec la validation ASP clientside! Sérieusement! – Zoidberg