2013-05-12 54 views
1

我在提交表單的asp.net應用程序中有一個按鈕。當在asp.net web應用程序中點擊啓用onserverclick的html按鈕時停止表單提交

<input type="submit" id="sumbit" value="Sign up" runat="server" 
    onserverclick="sumbit_ServerClick2" class="submitbutton"/> 

我有一個javascript函數返回true和false。如果javascript函數返回false,我該如何防止提交表單。 我無法訪問表單標籤,因爲我使用的是masterpage,整個contentplacedholder被包含在runat =「server」表單中。

+1

是否正在執行某種類型的驗證?如果是的話,看看驗證控件,以防止回發。 – fnostro 2013-05-12 21:46:19

回答

2

假設你的函數被調用yourJsFunction,我想你可以只輸入元素上使用onclick="return !!yourJsFunction();",像這樣:

<input type="submit" id="sumbit" value="Sign up" runat="server" onclick="return !!yourJsFunction();" 
onserverclick="sumbit_ServerClick2" class="submitbutton"/> 

使用!!在函數調用的前面,迫使一個布爾值。

-

對於ASP.NET按鈕使用onClientClick="return !!yourJsFunction();"

Read more here

+0

它是一個html按鈕。 onclientclick不是有效的屬性。 – thunderbird 2013-05-12 21:46:02

+0

謝謝@thunderbird,現在看到了。更新了答案:) – JAM 2013-05-12 21:49:07

+0

我已經試過,但它沒有工作,但@NETRICITY建議工作'onclick =「如果(!yourFunction())返回false;'' – thunderbird 2013-05-12 21:57:38

5

使用onclick屬性來測試你的JS函數的返回值:

<input type="submit" id="sumbit" value="Sign up" runat="server" 
    onserverclick="sumbit_ServerClick2" class="submitbutton" 
    onclick="if (!yourFunction()) return false;" /> 
1

設置按鈕類型爲「按鈕」(默認爲提交),這將禁用提交表單,並依靠__doPostBack()來處理接線。

<button id="MyButton" runat="server" type="button" onserverclick="MyButton_Click">Submit</button> 
相關問題