2013-04-17 4 views
1

자바 기술을 테스트하기 위해 DOM을 기반으로 이벤트를 만들려고합니다. 왜이 요소에 적용되지 않는지 아는 사람이 있습니까?getElementById가 자바 스크립트에서 요소를 선택하지 않습니다.

function getButton(){ 
    var getButton = document.getElementById("submit"); 
    getButton.onclick() = function(){ 
     alert("it works!") 
    } 
} 

제출 이드에 의해 요소에서 요소의 <input type="submit" /> 유형, 그래서 그것이 작동하지 왜 나는 그것을하지 않습니다.

답변

0
getButton.onclick = function() { 
     alert("it works!"); 
}; 
+0

괜찮아요. 이제 제출 요소에 "bla"라는 ID를 부여했는데 여전히 작동하지 않습니다. –

+0

나는 이벤트가 작동하지 않는 것처럼 보인다고 상상할 수 없다는 것을 알았습니다. 왜 서버가 그들을 차단할 수 있습니까? –

4

이벤트 식별자에 ()을 버리십시오. 당신은 여기에 속성을 할당하고 있으며 함수 호출이나 유사한 것을 만들지 않습니다.

function getButton(){ 

    var getButton = document.getElementById("submit"); 

    getButton.onclick = function(){ 
    alert("it works!"); 
    } 
} 
+0

좋은 점,주의 해 주셔서 감사합니다. 작동하는지 확인해 보겠습니다. –

0

당신은 당신의 코드에서 몇 가지 문제가 있습니다

  1. 제출하려는 요소가 <submit> 태그입니다; id="submit"이 없으므로, getElementById("submit") 요소를 얻으려고하면 작동하지 않습니다.

    <submit> 태그 자체에 id을 입력하고 그 중 하나를 선택하거나 getElementByTagName("submit")을 대신 사용하십시오.

  2. @Sirko와 @Osiris가 언급했듯이 을 (를) 호출하지 않으려 고하기 때문에 getButton.onclick() = function(){이 작동하지 않습니다. 당신이하고자하는 일은 getButton이라는 속성에 함수를 할당하는 것입니다 :

    getButton.onclick() = function(){getButton.onclick = function(){이어야합니다.

관련 문제