2013-03-21 124 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