![](/img/trans.png)
[英]Initially disabled Button won't post back after it is enabled by Javascript
[英]Why won't my form post back after validation?
我有一個asp.net頁面,其中包含使用ShowMessageBox="True"
和幾個驗證器設置的多個驗證摘要。 我遇到了一種情況,當驗證失敗時,驗證摘要會正確顯示,但是通常會觸發頁面回發的下一次點擊不會觸發回發。 所以步驟看起來像這樣:
什么可能導致這種行為?
編輯:驗證是按以下方式進行的。 在asp頁面中:
<asp:Button runat="server" id="btn" onClientClick="return DoValidation();" />
在javascript中:
function DoValidation() {
if (!Page_ClientValidate('group1'))
return false;
if (!Page_ClientValidate('group2'))
return false;
return true;
}
在對此進行了處理並仔細使用調試器之后,我終於發現,當您按照編輯問題中描述的方式進行驗證時,布爾值設置為失敗,阻止頁面的下一個PostBack通過。 我相信這是在自動完成驗證時完成的,而不是像我在這里那樣明確地進行驗證。 將上面描述的javascript更改為如下所示:
function DoValidation() {
if (!Page_ClientValidate('group1')) {
Page_BlockSubmit = false;
return false;
}
if (!Page_ClientValidate('group2')) {
Page_BlockSubmit = false;
return false;
}
return true;
}
導致問題消失。 希望這將有助於下一個犯同樣錯誤的人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.