Можно ли получить данные при сборе всего набора данных 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/
Хорошо, я понял, как решить этот путь. Когда каждая текстовая область создается, я назначаю уникальный идентификатор с помощью счетчика чисел, затем подсчитываю количество созданных до сих пор строк, собираю значения, добавляю html, а затем повторно заполняю данные в каждой текстовой области на основе счетчика чисел. Я могу обновить JSfiddle, если кто-то хочет увидеть фактический код.
Он не работает, потому что вы пытаетесь добавить теги к 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 += "<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;
Пытаться
var textarea = $('textarea').val();
а затем вместо
css += "<textarea class='step_detail' name='step_desc_[]'>"+desc+"</textarea>";
записывать
css += textarea;