最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

asp.net - problem with onclientclick and postbackurl - Stack Overflow

programmeradmin8浏览0评论

I want to trigger on click of a button this:

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

In javascript I m checking validation of the form.The problem is when I m clicking on the button it is not waiting for the validation but its postback to google...

If I do return country(this.form) then on button click it waits for validation but don't postback after I fill the form. I want something like that if javascript validation is false..then OnClientClick should be return country(this.form) if its true then only

country(this.form)

I want to trigger on click of a button this:

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

In javascript I m checking validation of the form.The problem is when I m clicking on the button it is not waiting for the validation but its postback to google....

If I do return country(this.form) then on button click it waits for validation but don't postback after I fill the form. I want something like that if javascript validation is false..then OnClientClick should be return country(this.form) if its true then only

country(this.form)
Share Improve this question asked Mar 9, 2010 at 14:19 user219725user219725
Add a ment  | 

2 Answers 2

Reset to default 8

You can do this:

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

Since postbacks use a "onclick" overall, your script is perpending to the ASP.Net script, returning means none of that postback script runs. If you use an if and only return out if needed, it'll work.

It makes more sense when you look at the rendered result, something like this:

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

Write it with return:

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

And your country function will end with return true or false,

function country(form) {
   // Validations goes here
   return true;// or return false;
}
发布评论

评论列表(0)

  1. 暂无评论