몇 개의 텍스트 영역이 포함 된 HTML 페이지가 있지만 동적으로 더 많은 텍스트 영역을 추가합니다. document.getElementById("textAreas").innerHTML += '<textarea class="textArea"></textarea>';
을 사용하여 html 파일에 textareas를 추가합니다. 문제는 새로운 텍스트 영역을 만들 때마다 새로 만든 텍스트 영역이 텍스트가 사라진다는 것입니다. 그러나 텍스트의 처음부터로드 된 텍스트 영역은 사라지지 않습니다.HTML/TS : 다른 텍스트 영역을 만들거나 버튼을 클릭 한 후 텍스트 콘텐츠가 사라집니다.
편집 :
사라지는 텍스트의 문제 추가 버튼이 사라 압박. 현재 문제는 텍스트 영역 추가 버튼이 아닌 다른 버튼을 클릭하면 새로 만든 텍스트가 사라진다는 것입니다.
추가 버튼을 두 번 누른 후 : 그래서 지금
을 모든 텍스트 영역이 채워져 있습니다. 다음 이미지의 문제는 표준이 아닌 텍스트를 클릭 한 후 사라지는 것입니다. 추가 버튼 :
버튼을 클릭하면 텍스트가 사라집니다. html로 및 TS 파일은 다음과 같습니다 :
.html 중에서
.TS :
가지고있는 현재의 방법으로는 전체 DOM 노드를 제거되기 때문에 텍스트가 사라addField(){
document.getElementById("textAreas").innerHTML += '<textarea class="textArea"></textarea>';
}
saveAsDraft(){
this.paramReport.isFinal = false;
this.saveAndSend();
}
saveAsFinal(){
this.paramReport.isFinal = true;
this.saveAndSend();
}
saveAndSend(){
var textAreaList = document.getElementsByClassName("textArea");
this.paramReport.notes = [];
for (let i = 0; i < textAreaList.length; i++) {
//console.log(textAreaList[i].textContent);
this.paramReport.notes.push(textAreaList[i].textContent);
}
let status: string;
if (this.paramReport.isFinal) status = "FINAL"; else status = "DRAFT";
this.reportsProvider.editReportFromList(this.paramReport);
this.toastCtrl.create({
message: 'Submitted report with id: ' + this.paramReport.id
+ ' made by ' + this.paramReport.submittedBy + ' as ' + status,
duration: 2000,
position: 'top'
}).present();
this.navCtrl.push(ReportOverviewPage);
}
다른 텍스트 영역을 추가 할 때 사라지는 텍스트 문제가 해결되었습니다. 다음 문제는 버튼을 클릭하면 텍스트가 사라지고 console.log에 공백이 기록됩니다. @orabis – BrianM
addField가 제대로 작동하지만 saveAsDraft 및 saveAsFinal에 여전히 문제가 있습니까? – orabis
예, 버튼 중 하나를 누르면 텍스트가 사라집니다. @orabis – BrianM