2010-03-09 6 views
2

Je veux déclencher le clic d'un bouton ceci:avec OnClientClick et PostBackUrl

<asp:Button runat="server" ID="submit" Text="Submit" OnClientClick="country(this.form);" PostBackUrl="http://www.google.com/" /> 

En javascript je suis vérifier la validation du problème de form.The est quand je suis en cliquant sur le bouton, il n'attend pas pour la validation, mais son postback à google.com ...

Si je fais return country(this.form) puis sur le bouton cliquez sur ce bouton attend la validation, mais ne postback après avoir rempli le formulaire. Je veux quelque chose comme ça si javascript validation false..then OnClientClick devrait être return country(this.form) si son vrai, alors que

country(this.form) 

Répondre

9

Vous pouvez faire ceci:

<asp:Button runat="server" ID="submit" Text="Submit" 
       OnClientClick="if(!country(this.form)) return false;" 
       PostBackUrl="http://www.google.com/" /> 

Étant donné que les publications utilisent globalement un «onclick», votre script est perpendiculaire au script ASP.Net, ce qui signifie qu'aucun script de publication ne s'exécute. Si vous utilisez un si et seulement renvoyer si nécessaire, cela fonctionnera.

Il est plus logique quand on regarde le résultat rendu, quelque chose comme ceci:

<input type="submit" name="submit" value="Submit" id="submit" onclick="if(!country(this.form)) return false; WebForm_DoPostBackWithOptions(.....)" /> 
+0

Ai-je besoin de mentionner quoi que ce soit dans mon javascript qui renvoie vrai ou quelque chose ... parce que cela ne fonctionne pas ... mon javscript vérifier pour la validation seulement ... c'est comme. pays de fonction (FRM) {// contrôles validation frm.submit } – TSSS22

+0

@ ps123 - Oui, 'true' retour si elle valide,' false' sinon dans votre fonction. –

+0

Maintenant, sa vérification pour la validation, mais ne pas faire la validation ... signifie travailler comme je faisais avec le pays de retour (this.form) – TSSS22

0

écrire avec retour:

<asp:Button runat="server" ID="submit" Text="Submit" OnClientClick="return country(this.form);" PostBackUrl="http://www.google.com/" /> 

Et votre fonction de pays se terminera par return true ou faux,

function country(form) { 
    // Validations goes here 
    return true;// or return false; 
} 
+0

Cela ne fonctionnera pas ... le postback ne se déclenche pas vrai ou faux. –

+0

C'est ce que j'ai dit Amr ... que quand je suis en train de faire retour je ne suis pas en mesure de poster ... – TSSS22

+0

je suppose que la fonction de pays retourne vrai ou faux –

Questions connexes