1

次のモーダルポップアップエクステンダーを持つページ内にコントロールがあります。

<asp:Panel ID="pnl_Completed" runat="server">
    <asp:Image ID="exit_Completed" runat="server" ImageUrl="" />
    <h3 style="text-align:center;">Completed</h3>
    <asp:Panel ID="pnl_inner" runat="server">
    <table style="width:100%;height:100%" cellpadding="5px"> 
        <tr style="height:40px;">
            <td valign="top">Comment: </td>
            <td>
            <telerik:RadTextBox ID="txt_CompletedComment" runat="server" TextMode="MultiLine" Rows="6" Width="400" Height="100"></telerik:RadTextBox>        
            </td>
        </tr>
        <tr style="height:40px;">
        <td colspan="2" align="center"><asp:Button id="btn_SaveCompleted" runat="server" Text="Complete" OnClick="btn_SaveCompleted_Click" /></td>
        </tr>
    </table> 
    </asp:Panel>

</asp:Panel>
<cc1:ModalPopupExtender ID="ModalPopupExtender_Completed" runat="server"  PopupControlID="pnl_Completed" CancelControlID="exit_Completed" TargetControlID="dummy_btn_Completed" >
</cc1:ModalPopupExtender>

<asp:Button id="dummy_btn_Completed" runat="server" CssClass="display_none" />

テキストボックスが空のときにbtn_SaveCompleted_Clickイベントにメッセージボックスを表示したいのですが、これを試しました。

 If txt_CompletedComment.Text.Trim().Length = 0 Then
            ScriptManager.RegisterStartupScript(Me, Me.GetType, "key", "alert('Please enter a comment.');", True)
 End If

ただし、これは機能しません。モーダルポップアップエクステンダーを非表示にするだけで、エラーは発生しません。私はそれを間違っていますか?それを示す他の方法はありますか?

4

1 に答える 1

0

を使用するだけJavaScriptです。ここでそれを行う方法はたくさんありますが、その一例を次に示します。

<asp:Button id="btn_SaveCompleted" runat="server" Text="Complete"  
   OnClientClick="return ValidateTheTextbox();"OnClick="btn_SaveCompleted_Click" />


<script>
     function ValidateTheTextbox()
     {
          var txtbox = document.getElementById('<%= txt_CompletedComment.ClientID %>');
          if(txtbox.value=="")
          {
              alert('Please enter a comment.');
              return false; //suppress the submit button
          }
          return true; //let the form submit
     }
</script>
于 2013-01-09T13:16:31.367 に答える