2012-07-04 84 views
1

我有一個asp.net頁面上的字段,我已經使用RequiredFieldValidator客戶端驗證

<tr> 
    <td align="left" style="width: 130px"> 
    <asp:Label ID="LblPagename" runat="server" Text="Page Name " CssClass="label"></asp:Label><font 
     color="red"> *</font> 
    </td> 
    <td align="left" style="width: 1087px" class="layout-grid"> 
    <asp:TextBox ID="TxtPageName" runat="server" MaxLength="50" ></asp:TextBox> 
    <asp:RequiredFieldValidator ID="RequiredFieldValidator9" runat="server" Display="Dynamic" 
     ValidationGroup="Save" ControlToValidate="TxtPageName" ForeColor="Red" 
     ErrorMessage="Please enter Page Name."></asp:RequiredFieldValidator> 
    </td> 
</tr> 
上保存我允許 CauseValidation="true"爲同一 ValidationGroup上述

<tr> 
    <td colspan="3" align="center" style="width: 1193px"> 
    <asp:ImageButton ID="btnMenu" CausesValidation="true" ValidationGroup="Save" ImageUrl="~/Images/Save.png" 
     runat="server" OnClick="btnMenu_Click" OnClientClick="SaveFunctionalities();"/> 
    &nbsp;&nbsp; &nbsp;&nbsp; 
    <asp:ImageButton ID="btnCancelMenu" ImageUrl="~/Images/btnCancel.png" runat="server" 
     OnClick="btnCancelMenu_Click" /> 
    </td> 
</tr> 

但在保存如前所述,與空字段錯誤消息一起

,保存被調用。

同樣的事情在其他頁面上正常工作。

唯一的區別是,在這裏我有一個關於OnClientClick的javascript函數調用。

這是造成一些問題?

回答

1

確保SaveFunctionalities();返回布爾值,具體取決於是否發生了錯誤。如果一切正常,然後返回true - 如果有任何錯誤返回false

然後更新您的OnClientClick到返回變量傳遞給..按鈕

OnClientClick="return SaveFunctionalities();" 

如果沒有問題,該按鈕將通過true值繼續正常。如果有錯誤,則會通過值false停止處理。

UPDATE

從張貼在由@Richa註釋的代碼,你總是返回false,無論什麼驗證的回報。

你的函數應該看起來更像這個...

function SaveFunctionalities() { 
    if (Page_ClientValidate()) { 
    ... 
    return true; 
    } else { 
    return false; 
    } 
} 
+0

我做的JS功能的以下變化:)功能SaveFunctionalities({如果(Page_ClientValidate()){VAR DDL =的document.getElementById(」 <%= lbMenu.ClientID%>「); var hdn = document.getElementById(「<%= hdnRight.ClientID%>」); hdn.value =「」; for(var i = 0; i Richa

+0

@Richa,讓我仔細檢查...你想btnMenu後回到服務器**如果**頁面上的標準驗證報告沒有錯誤 – freefaller

+0

我想btnMenu調用btnMenu_Click(cs方法)只有當所有的驗證已通過..ie沒有字段爲空..SaveFunctionalities只是保存在一個隱藏的領域的價值..如果這就是所謂的..它的好.. – Richa