2009-10-09 8 views
1

Est-il possible de capturer quel bouton a été cliqué dans javascript? J'ai la configuration de validation mais je veux seulement la valider quand un bouton est cliqué et par aucun autre moyen.capture quel bouton a été cliqué pour provoquer la validation

VEUILLEZ NOTER QUE JE DISPOSE DE 3 BOITES DE TEXTES COMME CELLES CI-DESSOUS. C'EST POUR UNE ENTRÉE DE NUMÉRO DE TÉLÉPHONE RANGÉE EN 3 BOÎTES DE TEXTE.

Ce que je voudrais faire est de mettre et « & & » condition que javascript instruction if disant pour définir la args.IsValid false lorsque le bouton est cliqué. En ce moment, il valide sur la touche de tabulation et le clic des autres contrôles. Je veux juste le valider en cliquant sur le bouton Soumettre.

function checkPhNumn(sender, args) { 
     alert(window.event); 
     if (phnavalue.value != '' || phnevalue.value != '' || phnnvalue.value != '') { 
      if (phnnvalue.value.length < 4) { 
       args.IsValid = false; 
      } 
      else { 
       ValidatorEnable(RFV2, true); 
       ValidatorEnable(RFV3, true); 
      } 
     } 
    } 

<ajaxToolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtender4" runat="server" 
          TargetControlID="phnnVal" 
          HighlightCssClass="validatorCalloutHighlight" 
          ></ajaxToolkit:ValidatorCalloutExtender> 

<asp:TextBox ID="witPhnn" runat="server" MaxLength="4" Width="50pt"></asp:TextBox> 

         <asp:CustomValidator ID="phnNumValn" runat="server" 
          Display="None" 
          ControlToValidate="witPhnn" 
          ErrorMessage="Please enter a valid phone number." 
          SetFocusOnError="True" 
          EnableClientScript="true" 
          ClientValidationFunction="checkPhNumn" 
          ></asp:CustomValidator> 
+0

Je ne suis pas sûr que ValidationGroup puisse vous aider. –

+0

Non. Cela n'aide pas dans cette situation. Merci quand même. – Eric

Répondre

0

Supprimez ControlToValidate de votre CustomValidator, ce qui supprimera l'appel à la fonction de validation lorsque vous quittez la zone de texte. L'utilisation de ValidationGroups ou la définition de CausesValidation = False sur tous les autres boutons les empêcheront d'activer toute validation.

1

Utilisez-vous ASP.NET 2.0?

Si tel est le cas, il existe une propriété pour les boutons et les validateurs appelée "Groupe de validation". En spécifiant un nom pour cette propriété, la validation se déclenchera uniquement pour ceux avec des valeurs de groupe de validation correspondantes. Par exemple, supposons que vous ayez deux valideurs de champ obligatoires sur votre page avec leurs valeurs de groupe de validation définies respectivement comme "groupe1" et "groupe2". Vous ajoutez plus tard un contrôle de bouton et donnez à la propriété Groupe de validation de ce contrôle la valeur "group1".

Lorsque ce bouton est enfoncé, seuls les validateurs de "groupe 1" se déclenchent.

Espérons que cela aide!

+0

Oui, mais je ne pense pas que cela aidera parce que le bouton déclenche la validation pour toute la page. La page entière serait dans le même groupe. Je vais essayer cependant. Merci pour votre réponse. – Eric

+0

Merci Mais ça n'a pas fonctionné. – Eric

Questions connexes