Dojo Drag and Drop을 사용하고 있습니다. 사용자가 컨테이너 (div dojoType = 'dojo.dnd.Source')에 항목을 추가하면 사용자가 전체 페이지를 제출할 때 나중에 서버에서 처리 할 수 있도록 해당 데이터를 양식으로 가져와야합니다. 그 부분이 효과가 있습니다. 다음 항목을 제거하려면 항목을 "휴지통"컨테이너로 끌어다 놓을 수 있습니다. 숨겨진 필드에서 항목을 제거하는 방법을 개념화하는 데 어려움이 있습니다. 다음 두 가지 기능을 호출하기 위해 이미 구독/이벤트 코드가 있습니다.JavaScript RemoveChild 논리/질문
removeGoalFromHiddenFields 기능을 수행하는 더 좋은 방법이 있다면 알려주실 수 있습니까? "부 주문"항목이 많이있을 수 있습니다.
나는 아래에있는 내용으로 테스트를 시작하려고하는데, 그것에 대해 약간의 의구심이 있습니다.
감사합니다,
닐 월터스
function addGoalToHiddenFields(goalText){
var field = document.createElement("input");
field.setAttribute("type","hidden");
field.setAttribute("value",goalText);
field.setAttribute("name","subgoal");
//add new hidden-element to the existing form
document.getElementById("form1").appendChild(field);
}
function removeGoalFromHiddenFields(goalText){
//remove hidden field
nodes = document.getElementById("form1")
for (i=0;i<nodes.length ;i++)
{
var pos = nodes[i].innerHTML.IndexOf(goalText)
if (pos > 0)
{
nodes.removeChild(node[i]);
}
}
} 또한
, 내가 대신이 작업을 수행 할 수 있습니다 노드 = document.getElementById를 ("subgoal")를
사실 removeGoal은 ... 전혀 작동하지 않을 것입니다 :
또는 오히려 DOM에 최선을 다하는 것보다 자바 스크립트에서 자신의 조회를 유지 길이 속성 (당신이 거기에 어떤 expando 마법을 가지고 있지 않다면). for-loop는 항상 중단됩니다. –