2012-01-26 4 views
1

appendchild를 통해 확인란을 만들고 있습니다. 나는 그들의 상태를 확인하고 싶다. 포맷이 document.form.checkboxname.value가되어야한다는 것을 알고 있지만 폼 이름이나 체크 박스 이름의 조합에 관계없이 응답을주지 않습니다.자바에서 appendchild 체크 박스의 요소 상태를 어떻게 얻을 수 있습니까?

 var myParagraph=document.getElementById("myLine"); 
      myForm = document.createElement("FORM"); 
      myForm.setAttribute("name", "myForm2"); 
      mytable = document.createElement("TABLE"); 

     var CB_Delete = document.createElement('input'); 
      CB_Delete.type = "checkbox"; 
      CB_Delete.name = "CB_Test"; 
      CB_Delete.setAttribute("name", "CBTest2"); 
      CB_Delete.value = 2; 
      CB_Delete.onclick = answer; 
      theCell.appendChild(CB_Delete); 

요약하면 확인란을 선택하면 알림 기능을 제공합니다. 정말 고맙습니다! 경고 (document.form.checkbox.value)에서 양식 및 체크 상자를 바꿀 내용을 명확히하려면?

+0

확인란과 속성에 'name '속성을 사용하고 있습니다. 나는 그것이 필요하다고 생각하지 않는다. – pimvdb

+0

체크 박스에'.value'가 할당되는 이유 –

+0

@Matt 왜 문제가됩니까? – kapa

답변

3

CB_Delete.checked. HTMLInputElement on MDN을 참조하십시오.

  • 당신의 체크 박스를 만들려면


    jsFiddle Demo

    console.log(CB_Delete.checked); 
    

    는 각각 CB_Delete.checked = true 또는 CB_Delete.checked = false 할 것, 확인 또는 선택 해제. checked은 부울 값을 가질 것으로 예상되는 개체 속성입니다. CB_Delete.checked은 단순히 현재 값을 쿼리합니다.

  • 이벤트 처리기 함수에서 현재 이벤트를 처리하는 요소를 this으로 참조 할 수 있습니다. 내 이전 jsFiddle의 예에서 그래서 :

    CB_Delete.onchange = function() { 
        console.log(this.checked); /* this refers to the checkbox here */ 
    }; 
    

    당신은 당신의 answer 기능에 this를 사용할 수 있습니다.

  • handling events on Quirksmode에 대한 자세한 내용을 볼 수 있습니다.

  • 참고 : CB_Delete.onchange을 사용하는 것은 꽤 오래되었지만 실제로는 이벤트 처리기를 부착하는 것이 좋습니다. CB_Delete.addEventListener('change', answer, false)을 사용하는 것이 올바른 방법입니다. 이전 IE에는 문제가 있지만 대신 attachEvent()이 있습니다. this technique and why to use it on Quirksmode에 대해 읽을 수 있습니다 (기사는 3 세입니다. "Unfortunately few browsers support it at the moment."과 같은 것을 읽을 때이를 고려하십시오). 브라우저 차이를 숨기려면 jQuery과 같은 라이브러리를 사용할 수 있습니다.

+0

나는 근본적으로 뭔가를 놓치고 있어야합니다. 답변 주셔서 감사합니다. 확인란을 선택하면 CB_Delete.checked되지 않습니까? 및 console.log (CB_Delete.checked); 그냥 CB_Delete가 인식 된 객체가 아니라는 것을 알려줍니다. 함수 분리 함수 "answer"에서 체크 박스 (함수 값 등)에 대해 알려주는 경고를 얻기 위해 무엇을 넣을 것입니까? 내가 뭘하려고해도 체크 박스를 찾을 수없는 것 같습니다. 양해 해 주셔서 감사합니다. – Zombian

+0

@Zombian 나는 나의 대답에 더 많은 세부 사항을 추가 할 것이다. – kapa

+1

와우, 정말 고마워!당신은 내 문제를 해결하고 나에게 좋은 문서를 주었다. 더 많은 것을 추가하고 나에게 이것을 위해 시간을 보내는 데 방해가되어 주셔서 감사합니다. – Zombian

관련 문제