-2
작성중인 양식의 요소에 삭제 버튼을 추가하는 데 문제가 있습니다. 마지막 함수 deleteField()
이 문제가되고 있습니다. 삭제하려고 할 때 이벤트 또는 색상 요소를 수락하지 않습니다.JavaScript를 사용하여 HTML 요소 삭제하기
노드 클래스의 하위 집합 인 경우 요소를 노드로 허용하지 않는 이유는 무엇입니까?
<script type="text/javascript">
var counter = 1;
function addInput(divName, isUpdate, eventId, color){
var dropdown = document.createElement('select');
var color_field = document.createElement('INPUT');
var delete_button = document.createElement('BUTTON');
var x = document.createTextNode("X");
delete_button.onclick = deleteField(divName, counter);
color_field.setAttribute("type", "color");
color_field.name = "color[" + counter + "]";
color_field.id = "c"+i;
if(isUpdate) {
color_field.value = color;
}
@eventList.map { event =>
var option = document.createElement("option");
option.value = "@event.getId";
option.text = "@event.getTitle";
dropdown.add(option);}
dropdown.name = "event[" + counter + "]";
dropdown.id = "e" + counter;
color_field.appendChild(x);
var doc = document.getElementById(divName);
document.getElementById(divName).appendChild(document.createElement("br"));
document.getElementById(divName).appendChild(document.createTextNode("Set event #" + counter));
document.getElementById(divName).appendChild(dropdown);
if(isUpdate){dropdown.value = eventId};
document.getElementById(divName).appendChild(color_field);
document.getElementbyId(divName).appendChild(delete_button);
counter++;
}
function setInput(divName){
@existing_list.map { eventItem =>
addInput(divName, true, @eventItem._1, '@eventItem._2.getOrElse("#000000")')
}
}
**function deleteField(divName, i){
var parent = document.getElementById(divName);
var event = document.getElementById("e"+i);
var color = document.getElementById("c"+i);
parent.removeChild(event);
parentremoveChild(color);**
parent.removeChild(color);
가 실행 코드를 작성하시기 바랍니다해야합니다. –'delete_button.onclick = deleteField (divName, counter);'이것은 즉시'deleteField (...)'를 실행하고'.onclick'에 반환 값 ('undefined')을 할당합니다. – Andreas
"이벤트 또는 색상 요소를 허용하지 않습니다"를 정의하십시오. 오류가 있습니까? – Teemu