onclientclick和postbackurl的问题

TSS*_*S22 2 javascript asp.net

我想在点击按钮时触发:

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

在javascript我检查表单的验证.问题是,当我点击按钮时,它不是在等待验证,而是回发到google.com ...

如果我return country(this.form)按下按钮单击它等待验证但是在填写表单后不回发.如果javascript验证是假的,我想要类似的东西.return country(this.form)然后OnClientClick应该是真的那么

country(this.form)
Run Code Online (Sandbox Code Playgroud)

Nic*_*ver 9

你可以这样做:

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

由于回发整体使用"onclick",因此您的脚本将整合到ASP.Net脚本中,返回意味着没有该回发脚本运行.如果您使用if和only返回,如果需要,它将工作.

查看渲染结果时更有意义,如下所示:

<input type="submit" name="submit" value="Submit" id="submit" onclick="if(!country(this.form)) return false; WebForm_DoPostBackWithOptions(.....)" />
Run Code Online (Sandbox Code Playgroud)