Empty the contents of a textarea after submit

13,003

Solution 1

$('#CommentBox').val('');

Use the val() method, passing in an empty string.

Documentation: http://api.jquery.com/val

Also, your mark up is wrong. textarea isn't a self-closing element. You need a </textarea> tag. And the type="text" isn't necessary (probably not actually valid either)

As per your edit, you can either set the IDs to be static at the top of your .aspx file (I think it's ClientID="static")

Or you can use a different selector:

$('textarea').filter('[id*=CommentBox]').val('');

Solution 2

You can use val:

$("#CommentBox").val('');

http://api.jquery.com/val/

JSFiddle

http://jsfiddle.net/KhPM6/1/

Edit:

You are not referencing the ASP.NET generated text area correctly. As you have shown in your question, you need to reference it like:

$('#<%=CommentBox.ClientID%>').val('');

Solution 3

   $('textarea#CommentBox').val('');
Share:
13,003
Mick
Author by

Mick

Updated on July 18, 2022

Comments

  • Mick
    Mick almost 2 years

    I have a comment box (textarea) inside a dialog. If the comment is successfully saved I want to clear the contents of the textarea and close the dialog box. ATM the dialog box will close but I need to wipe its contents.

    <textarea id="CommentBox" type="text" runat="server" rows="7" 
    maxlength="2000" /> 
    
    if (CommentSuccessfullyUpdated == "TRUE") 
    {
    //empty the comment box??
    //something like
    $("#CommentBox").empty();
    
    //closes the dialog box
    $("#dialog").dialog('close');
    

    Thanks for any replies


    Edit: Thanks for the help guys. It is running through the code but its not working. I think it has to do with in order to pick up the correct vales and resolve a biding issue I had to use:

     function SubmitButton() {
                var commentBoxData = $('#<%=CommentBox.ClientID%>').val();
               }
    

    When run through with a breakpoint returns:

    function SubmitButton() {
                var commentBoxData = $('#ctl00_ContentPlaceHolder1_CommentBox').val();
    }
    

    AND:

    <textarea name="ctl00$ContentPlaceHolder1$CommentBox" id="ctl00_ContentPlaceHolder1_CommentBox" type="text" rows="7" maxlength="2000"> </textarea> 
    

    So Im guessing im not referencing the same textarea when I try to empty it. Also tried

    $("#CommentBox.ClientID").val('');
    

    but no joy....ay ideas?

  • Mick
    Mick about 11 years
    Hi thanks for the reply please see my edit
  • Mick
    Mick about 11 years
    Hi thanks for the reply please see my edit
  • Mick
    Mick about 11 years
    Hi thanks for the reply please see my edit
  • ahren
    ahren about 11 years
    @Mick - Updated my answer based on your edit.
  • Darren
    Darren about 11 years
    @Mick - updated my answer.
  • Mick
    Mick about 11 years
    Good job the different select worked. Thanks for the help
  • Mick
    Mick about 11 years
    Good job. Thanks for the help