2016-07-14 4 views
-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);** 

+0

parent.removeChild(color);가 실행 코드를 작성하시기 바랍니다해야합니다. –

+1

'delete_button.onclick = deleteField (divName, counter);'이것은 즉시'deleteField (...)'를 실행하고'.onclick'에 반환 값 ('undefined')을 할당합니다. – Andreas

+0

"이벤트 또는 색상 요소를 허용하지 않습니다"를 정의하십시오. 오류가 있습니까? – Teemu

답변

1

마지막 기능 deleteField는() 나에게 문제를주고있다. 삭제하려고 할 때 이벤트 또는 색상 요소를 수락하지 않습니다.

결론 parentremoveChild(color);

관련 문제