FBJS JavaScript getElementById返回null?

时间:2011-03-11 00:33:07

标签: javascript facebook fbjs facebook-java-api

FBJS正在推动我的心理,我在选择元素时遇到了问题。我的页面内容如下:

 <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是否正常? ID是在同一个地方声明的吗?

需要一个JS向导: - )

非常感谢你的时间,


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

1 个答案:

答案 0 :(得分:3)

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