получение данных textarea из innerHTML

0

Можно ли получить данные при сборе всего набора данных innerHTML?

Вот часть моего JS-кода.

var css = document.getElementById('SETinfo').innerHTML;
var num = parseInt(document.getElementById('stepNum_count').value);
var name = document.getElementById('step_name_'+id).value;
var desc = document.getElementById('step_desc_'+id).value;
  css += "<div id='new_step_num_"+num+"'>";
  css += "<input type='hidden' name='new_VW_step[]' value='"+id+"'>";
  css += "<div class='step_contain'><div class='step'>";
  css += "<div class='step_circle'>";
  if(num < 10)
    {
  css += "<div class='step_num'>"+num+"</div>";
    }
  else
    {
  css += "<div class='step_num' style='left:8px;'>"+num+"</div>";
    }
  css += "</div>";
  css += "<div class='step_name'>"+name+"</div>";
  css += "<div class='step_divider'> </div>";
  css += "<textarea class='step_detail' name='step_desc_[]'>"+desc+"</textarea>";
  css += "</div> </div>";
  css += "</div>";

document.getElementById('SETinfo').innerHTML = css;
num = num + 1;

Все работает должным образом за вычетом текстового поля, которое не собирается/выбрано.

Вот JSfiddle упрощенной проверки того, что я пытаюсь сделать. Обратите внимание, что при вводе текста в текстовое поле он не переносится при нажатии кнопки. http://jsfiddle.net/MepG5/

  • 0
    Из каких элементов вы собираете данные? Есть ли какой-то недостающий HTML?
  • 0
    Не совсем относится к вашему вопросу, но мне любопытно, почему вы помещаете кучу HTML в переменную с именем «css»?
Показать ещё 2 комментария
Теги:
innerhtml

3 ответа

0

Хорошо, я понял, как решить этот путь. Когда каждая текстовая область создается, я назначаю уникальный идентификатор с помощью счетчика чисел, затем подсчитываю количество созданных до сих пор строк, собираю значения, добавляю html, а затем повторно заполняю данные в каждой текстовой области на основе счетчика чисел. Я могу обновить JSfiddle, если кто-то хочет увидеть фактический код.

0

Он не работает, потому что вы пытаетесь добавить теги к innerHTML. var css = document.getElementById('SETinfo').innerHTML; работает отлично. Использовать объекты:

var css = document.getElementById('SETinfo').innerHTML;
var num = parseInt(document.getElementById('stepNum_count').value);
var name = document.getElementById('step_name_'+id).value;
var desc = document.getElementById('step_desc_'+id).value;
  css += "&lt;div id='new_step_num_"+num+"'&gt;";
  css += "&lt;input type='hidden' name='new_VW_step[]' value='"+id+"'&gt;";
  css += "&lt;div class='step_contain'&gt;&lt;div class='step'&gt;";
  css += "&lt;div class='step_circle'&gt;";
  if(num < 10)
    {
  css += "&lt;div class='step_num'&gt;"+num+"&lt;/div&gt;";
    }
  else
    {
  css += "&lt;div class='step_num' style='left:8px;'&gt;"+num+"&lt;/div&gt;";
    }
  css += "&lt;/div&gt;";
  css += "&lt;div class='step_name'&gt;"+name+"&lt;/div&gt;";
  css += "&lt;div class='step_divider'&gt; &lt;/div&gt;";
  css += "&lt;textarea class='step_detail' name='step_desc_[]'&gt;"+desc+"&lt;/textarea&gt;";
  css += "&lt;/div&gt; &lt;/div&gt;";
  css += "&lt;/div&gt;";

document.getElementById('SETinfo').innerHTML = css;
num = num + 1;
  • 0
    Привет человек снега, когда идти с этим методом все элементы становятся текстом.
  • 0
    Я думаю, это то, что делает твой код.
0

Пытаться

   var textarea = $('textarea').val();

а затем вместо

css += "<textarea class='step_detail' name='step_desc_[]'>"+desc+"</textarea>";

записывать

css += textarea;
  • 1
    Он не хочет использовать JQuery, и то , что у него есть, прекрасно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню