2010-03-09 21 views
2

我想觸發一個按鈕如此點擊:問題的OnClientClick和一項PostBackUrl

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

在javascript中我米檢查form.The問題的驗證,當我米點擊它沒有等待按鈕爲驗證,但其回發google.com ...

如果我做return country(this.form)然後在按鈕單擊它等待驗證但填寫表單後不回發。我想類似的東西,如果JavaScript的驗證false..then的OnClientClick應return country(this.form)如果爲true,則只有

country(this.form) 

回答

9

你可以這樣做:

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

由於回發函數總體上使用了「onclick」,因此腳本正在執行到ASP.Net腳本,返回意味着沒有該回髮腳本運行。如果你使用一個如果只需要返回,它會起作用。

它更有意義,當你在渲染的結果,這樣的事情:

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

我是否需要在我的JavaScript中提及任何返回true或什麼的東西...因爲它不工作...我的javscript只檢查驗證...它的樣子。 功能的國家(FRM) {// 檢查驗證 frm.submit } – TSSS22 2010-03-09 14:33:06

+0

@ ps123 - 是的,'返回TRUE;如果驗證,'FALSE'如果不是在你的函數。 – 2010-03-09 14:35:20

+0

現在它的檢查驗證,但沒有進行驗證......意味着像我一樣在返回國家(this.form)工作 – TSSS22 2010-03-09 14:36:41

0

,返回寫:

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

和你的國家函數將返回真正的結束還是假的,

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

這樣可不行......回發不會真或假觸發。 – 2010-03-09 14:25:41

+0

那就是我說的Amr ...當我在做回報我不能回發... – TSSS22 2010-03-09 14:26:18

+0

我想國家函數返回true或false – 2010-03-09 14:27:02