2013-03-21 15 views
6

Ho una casella di commento (area di testo) all'interno di una finestra di dialogo. Se il commento è stato salvato correttamente, voglio cancellare il contenuto della textarea e chiudere la finestra di dialogo. ATM la finestra di dialogo si chiuderà ma ho bisogno di cancellarne il contenuto.Svuota il contenuto di una textarea dopo l'invio

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

Grazie per le eventuali risposte


Edit: Grazie per l'aiuto ragazzi. Sta funzionando attraverso il codice ma non sta funzionando. Io penso che abbia a che fare con, al fine di raccogliere le valli corretti e risolvere un problema Biding ho dovuto usare:

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

Quando viene eseguito attraverso con un punto di interruzione restituisce:

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

E:

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

Quindi immagino di non riferirmi alla stessa area di testo quando provo a svuotarlo. provato anche

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

ma nessuna gioia .... ay idee?

risposta

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

Utilizzare il metodo val(), passando una stringa vuota.

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

Inoltre, il mark up è sbagliato. textarea non è un elemento di chiusura automatica. Hai bisogno di un tag </textarea>. E il type="text" non è necessario (probabilmente in realtà non validi o)

Come per la modifica, è possibile impostare gli ID per essere statico nella parte superiore del file aspx (penso che sia ClientID="static")

oppure si può utilizzare un selettore diverso:

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

Ciao, grazie per la risposta si prega di vedere la mia modifica – Mick

+0

@Mick - Aggiornata la mia risposta basata sulla tua modifica. – ahren

+0

Buon lavoro la diversa selezione ha funzionato. Grazie per l'aiuto – Mick

4

È possibile utilizzare val:

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

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

JSFiddle

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

Edit:

Non fa riferimento l'area di testo generato ASP.NET correttamente. Come avete mostrato nella sua interrogazione, è necessario fare riferimento a esso come:

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

Ciao, grazie per la risposta, vedi la mia modifica – Mick

+0

@Mick - aggiornata la mia risposta. –

+0

Buon lavoro. Grazie per l'aiuto – Mick

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

Ciao, grazie per la risposta, vedi la mia modifica – Mick

Problemi correlati