2011-02-02 9 views
0

私は多くのコントロールと送信ボタンを持つWebフォームを持っています。ユーザーがクリーンなデータを送信すると、「フォームは正常に送信されました」というメッセージを表示するasp.netラベルコントロールがあります。私の問題は、この成功した送信後、同じユーザーが同じフォームのいくつかのフィールドに無効な値を入力して[送信]ボタンをクリックすると、そのフィールドのasp.netエラーメッセージと共に成功メッセージが表示されますasp.net検証コントロールを使用して)。クライアント側からasp.netラベルを無効にする

私の質問は、このシナリオで成功メッセージを取り除く方法です。 (この場合、表示したいのはクライアント側の検証エラーメッセージです)。私はjavascriptに精通していません。

<asp:Button ID="btnAddActivity" Text="Add Activity" runat="server" onclick="btnAddActivity_Click" ValidationGroup="vgSetup" OnClientClick=" return changeLabel();"/> 

<asp:Label ID="lblMessage" visible="false" ForeColor="red" runat="server"></asp:Label> 

function changeLabel() 
{ 
    document.getElementById('<%= lblMessage.ClientID %>').innerHTML = ""; 

    return; 
} 

ラベルとボタンのマークアップは次のとおりです。OnClickイベントでjavascript関数を呼び出そうとしました。これにより、成功メッセージは無効になりますが、ポストバックの後に検証エラーメッセージが表示されます。ポストバックなしで検証エラーメッセージを表示します。誰も助けることができますか?

答えて

2

folowingをお試しください:

<asp:Button ID="btnAddActivity" Text="Add Activity" runat="server" onclick="btnAddActivity_Click" ValidationGroup="vgSetup" OnClientClick ="changeLabel();"/> 


function changeLabel() 
{ 
     if !(Page_ClientValidate()) 
     { 
       document.getElementById('<%= lblMessage.ClientID %>').innerHTML = ""; 
     } 

} 
関連する問題