Effacer la zone de texte

Dans l’événement Onselect, j’ai un script:

$("#vinanghinguyen_images_bbocde").val(''); $("#vinanghinguyen_images_bbocde").val(vinanghinguyen_final_bbcode); 

Je veux une zone de texte claire id = “vinanghinguyen_images_bbocde” avant d’append de la valeur. mais textarea append append append append et valeur et pas clair. Je veux le clarifier avant d’append de la valeur

J’utilise uploadify ici est ma fonction

  $(document).ready(function() { vinanghinguyen_bbcode=''; vinanghinguyen_final_bbcode=''; vinanghinguyen_link=''; vinanghinguyen_final_derect_link=''; response = ''; $('#file_upload').uploadify({ 'uploader' : '{SITE_FULL_URL}/uploadify/uploadify.swf', 'script' : '{SITE_FULL_URL}/uploadify/uploadify.php', 'cancelImg' : '{SITE_FULL_URL}/uploadify/cancel.png', 'folder' : 'data/picture_upload/2011', 'auto' : false, 'multi' : true, 'buttonText' : '', 'onComplete' : function(event,ID,fileObj,response,data) { vinanghinguyen_bbcode='[IMG]'+'http://cnttvnn.com'+response+'[/IMG]'+'\n'; vinanghinguyen_final_bbcode=vinanghinguyen_final_bbcode+vinanghinguyen_bbcode; vinanghinguyen_derect_link='http://cnttvnn.com'+response+'\n'; vinanghinguyen_final_derect_link=vinanghinguyen_final_derect_link+vinanghinguyen_derect_link; $("#vinanghinguyen_images_bbocde").val('').val(vinanghinguyen_final_bbcode); // $("#vinanghinguyen_images_derect_link").val(vinanghinguyen_final_derect_link); $("#vinanghinguyen_result").show(); $(".uploadifyQueue").height(5); }, 'onSelect' : function(event,ID,fileObj) { $("#vinanghinguyen_images_bbocde").val(''); $("#vinanghinguyen_result").hide(); $(".uploadifyQueue").height(315); }, }); });  

Quand vous faites $("#vinanghinguyen_images_bbocde").val(''); , il supprime tout le contenu de la zone de texte, donc si ce n’est pas ce qui se passe, le problème est probablement ailleurs.

Cela pourrait aider si vous publiez une partie un peu plus grande de votre code, puisque l’exemple que vous avez fourni fonctionne.

Utilisez $('textarea').val('') .

Le problème avec l’utilisation de $('textarea').text('') , ou de $('textarea').html('') d’ailleurs, c’est qu’il n’effacera que ce qui était dans le DOM d’origine envoyé par le serveur. Si un utilisateur le vide et entre ensuite une nouvelle entrée, le bouton d’effacement ne fonctionnera plus. Utiliser .val('') gère le cas de saisie utilisateur correctement.

Cela marche:

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

Cette méthode supprime non seulement les éléments enfants (et autres éléments descendants), mais également tout texte dans l’ensemble d’éléments correspondants. En effet, selon la spécification DOM, toute chaîne de texte dans un élément est considérée comme un noeud enfant de cet élément.

 $('textarea').empty() 

essaye ça

  $("#vinanghinguyen_images_bbocde").attr("value", ""); 

Essaye ça,

 $('textarea#textarea_id').val(" "); 

Je viens d’essayer d’utiliser ce code et la réponse de @ psynnott était correcte même si j’avais besoin de savoir qu’elle fonctionnerait de manière répétée, semble fonctionner avec jquery 1.7.1>

J’ai modifié le jfiddle comme suit: http://jsfiddle.net/Rjj9v/109/

 $('#mytext').text(''); 

Ce n’est pas une nouvelle réponse @psynnott est correct Je fournis simplement un exemple plus concis qui montre que le textarea fonctionne toujours après le clear car si vous utilisez .val (“”) la zone de texte ne fonctionne plus

La réponse correcte est: $ (“# selElement_Id option: selected”). RemoveAttr (“selected”);

La méthode plutôt simple serait d’utiliser la méthode JavaScript de innerHTML.

 document.getElementById("#id_goes_here").innerHTML = ""; 

Manière plus simple et plus efficace.