Очистить текстовую область - PullRequest
54 голосов
/ 27 ноября 2011

В событии Onselect у меня есть скрипт:

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

Я хочу очистить текстовую область id = "vinanghinguyen_images_bbocde" перед тем, как добавить к ней значение. но textarea добавить добавить добавить добавить и значение и не ясно. Я хочу очистить его, прежде чем добавить значение

Я использую uploadify, вот моя функция

<script type="text/javascript">

$(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);

},

  });

});
</script>

Ответы [ 10 ]

77 голосов
/ 27 ноября 2011

Когда вы делаете $("#vinanghinguyen_images_bbocde").val('');, он удаляет все содержимое текстовой области, поэтому, если это не то, что происходит, проблема, вероятно, где-то еще.

Это может помочь, если вы разместите немного большую часть кода, поскольку приведенный вами пример работает.

45 голосов
/ 23 мая 2012

Использование $('textarea').val('').

Проблема с использованием $('textarea').text('') , или же $('textarea').html('') в этом отношении он будет стирать только то, что было в исходном DOM, отправленном сервером. Если пользователь очищает его и затем вводит новый ввод, кнопка очистки больше не будет работать. Использование .val('') правильно обрабатывает регистр ввода пользователя.

12 голосов
/ 29 октября 2015

Это работает:

$('#textareaName').val('');
6 голосов
/ 12 сентября 2014

Этот метод удаляет не только дочерние (и другие потомки) элементы, но также любой текст в наборе соответствующих элементов. Это потому что, согласно спецификации DOM, любая строка текста в пределах элемент считается дочерним узлом этого элемента.

$('textarea').empty()
4 голосов
/ 02 июня 2015

Попробуйте это,

$('textarea#textarea_id').val(" ");
4 голосов
/ 27 ноября 2011

попробуйте

 $("#vinanghinguyen_images_bbocde").attr("value", ""); 
1 голос
/ 04 мая 2013

Я только что попытался использовать этот код, и ответ @ psynnott был правильным, хотя мне нужно было знать, что он будет работать неоднократно, похоже, работает с jquery 1.7.1>

Я изменил jfiddle до следующего http://jsfiddle.net/Rjj9v/109/

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

Это не новый ответ @psynnott правильный Я просто предоставляю более краткий пример, который показывает, что текстовая область все еще работает после очистки, потому что если вы используете .val ("") текстовую областьперестает работать

0 голосов
/ 19 января 2019

Я согласен с ответом @Jakub Arnold. Проблема должна быть где-то еще. Я не мог понять проблему, но нашел решение вокруг.

Оберните ваш соответствующий элемент родительским элементом и заставьте его html создать новый элемент с идентификатором, который вас интересует. Смотри ниже

<div id="theParent">
    <div id="vinanghinguyen_images_bbocde"></div>
</div>

'onSelect'    : function(event,ID,fileObj) {
 $("#theParent").html("<div id='vinanghinguyen_images_bbocde'></div>");
 $("#vinanghinguyen_result").hide();
 $(".uploadifyQueue").height(315);
}
0 голосов
/ 04 сентября 2017

Достаточно простым методом будет использование JavaScript-метода innerHTML.

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

Довольно более простой и эффективный способ.

0 голосов
/ 09 мая 2013

Правильный ответ: $ ("опция # selElement_Id: выбранный"). removeAttr ("выбранный");

...