2013-03-21 60 views
6

我在對話框中有一個評論框(textarea)。如果評論成功保存,我想清除textarea的內容並關閉對話框。 ATM對話框將關閉,但我需要擦除其內容。在提交後清空textarea的內容

<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'); 

感謝您的任何答覆


編輯: 感謝您的幫助球員。它正在運行代碼,但它不工作。我認爲這與以拿起正確瓦萊斯和解決招投標問題,我不得不用做:

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

當斷點恢復運行通過:

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> 

所以我猜我即使我試圖清空它時沒有引用相同的textarea。 也試過

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

但沒有快樂.... ay的想法?

回答

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

使用val()方法,傳入一個空字符串。

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

而且,你的商標起來是錯誤的。 textarea不是自閉元素。你需要一個</textarea>標籤。而type="text"是沒有必要的(可能不是真正有效,或者)

根據您的編輯,你可以設置的ID是在你的.aspx文件的頂部靜態的(我認爲這是ClientID="static"

或者你也可以使用一個不同的選擇:

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

感謝喜的答覆,請看到我的編輯 – Mick 2013-03-21 11:07:07

+0

@Mick - 更新根據您的編輯我的答案。 – ahren 2013-03-21 11:09:38

+0

幹得好,不同選擇工作。感謝您的幫助 – Mick 2013-03-21 11:16:04

4

您可以使用val

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

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

的jsfiddle

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

編輯

你是不是正確引用ASP.NET生成的文本區域。當你在你的問題表明,需要引用它像:

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

嗨,感謝您的回覆,請參閱我的編輯 – Mick 2013-03-21 11:07:59

+0

@Mick - 更新了我的答案。 – 2013-03-21 11:12:58

+0

幹得好。感謝您的幫助 – Mick 2013-03-21 11:16:32

2
$('textarea#CommentBox').val(''); 
+0

嗨,感謝您的答覆,請參閱我的編輯 – Mick 2013-03-21 11:08:19