2011-03-11 10 views
1

FBJS가 내 정신을 몰고 있는데, 요소를 선택하는 데 문제가 있습니다. 나는 내 페이지의 내용에 다음과 같은 한 :FBJS JavaScript getElementById가 null을 반환합니까?

<button id="sendmessage" type="submit" style="border: 0; background: transparent"> 
     <img src="Button.png" alt="Submit" /> 
     <div id="output">Send Message</div><span id="overlay"></span> 
    </button> 

그리고 내 FBJS의 일부로서 내가

var refSendMessage = document.getElementById('sendmessage'); 
var refOutput = document.getElementById('output'); 

그러나

refSendMessage.setDisabled(true); 

오류를 가져옵니다이 Uncaught TypeError: Cannot call method 'setDisabled' of null

그러나

refOutput.setTextValue("Sending..."); 

잘 작동합니다!

refSendMessage의 유형이 null이지만 refOutput이 정상적인 이유는 무엇입니까? 신분증은 같은 장소에 선언되어 있습니까?

내가 <span id="sendmessage"></span>를 사용하는 경우, 오류가 발생하지, :-) 시간에 대한

많은 감사,


추가 정보를 JS 마법사를하시기 바랍니다가 필요합니다. Facebook Bug 일 수 있습니까?

+0

Facebook이 버튼 요소를 적절하게 처리하지 못해서 허위 일 수도 있습니다. – Kon

답변

3
  1. 페이지에 'sendmessage'ID가 없는지 확인하십시오.
  2. id가 'sendmessage'인 <button><input type="button">으로 변경하고 document.getElementById ('sendmessage')가 여전히 null을 반환하는지 확인하십시오. 그렇지 않다면, 아마도 페이스 북은 <button> 요소에 문제가 있습니까?
  3. 렌더링 된 마크 업을보고, document.getElementById() 내에 지정된 Facebook 생성 ID가 Facebook 요소에서 생성 된 버튼 요소의 ID와 일치하는지 확인하십시오. 일치하지 않으면 null이 반환됩니다.
관련 문제