2011-03-11 110 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的类型为空但refOutput很好?身份证是在同一个地方申报的?

需要一个JS向导请:-)

您的时间非常感谢,


额外的信息,如果我用<span id="sendmessage"></span>,不会发生错误。这可能是一个Facebook的错误?

+0

它很可能是Facebook没有正确处理按钮元素,并采取废话。 – Kon 2011-03-11 01:29:33

回答

3
  1. 请确保在页面上没有任何其他名称为“sendmessage”的ID。
  2. 尝试将<button>更改为<input type="button">,其ID为'sendmessage'并查看document.getElementById('sendmessage')是否仍然返回null。如果没有,也许Facebook在<button>元素上遇到麻烦?
  3. 尝试查看呈现的标记并确保在document.getElementById()中指定的Facebook生成的ID与您的按钮元素的Facebook生成的ID匹配。如果它们不匹配,那么当然会返回null。
相关问题