【问题标题】:JScript Error MessageJScript 错误信息
【发布时间】:2013-03-27 02:00:00
【问题描述】:
<asp:TextBox ID="txtOriginalNo" runat="server" onkeyup="javascript:if (event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById('ibtnSubmit').click();}};"
                                                                                            onKeyDown="return AlphaNumeric(event)" TabIndex="1"></asp:TextBox>

我收到运行时错误Microsoft JScript 运行时错误:'document.getElementById(...)' 为空或不是对象

<asp:TextBox ID="txtOriginalNo" runat="server" **onkeyup="javascript:if (event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById('ibtnSubmit').click();}};"**
                                                                                            onKeyDown="return AlphaNumeric(event)" TabIndex="1"></asp:TextBox>

我正在使用母版页。

谁能帮帮我

【问题讨论】:

  • 您的代码和错误消息未显示。我将它们标记为代码。您可能需要重新格式化一下,这样行就不会那么长了。在你的代码中是这样的吗?
  • 确保您有一个 ID 为“ibtnSubmit”且拼写正确的按钮
  • 如果您可以提供更大的页面样本 - 这将有助于我们帮助您(尤其是添加 'ibtnSubmit' 的部分)...
  • 我了解到您是新来的,但您需要查看常见问题解答以了解有关编写问题的探测器方法的更多信息:)

标签: javascript


【解决方案1】:

这是因为 document.getElementById 返回了 null。换句话说,它没有找到您要查找的 ID。

您可以通过确保 ID 存在于文档中来阻止它,或者检查将 getElementById 的结果与 null 进行比较。

【讨论】:

    【解决方案2】:

    我认为按钮的 id 会在前面加上一个唯一的 id[前面加上一些 contentplaceholderid]

    例如:如果您将按钮 id 指定为 btnSubmit,那么它将生成为

    ctl00_ContentPlaceHolder1_btnSubmit

    contentplaceholder 的 id 是 'ContentPlaceHolder1'

    编辑:

    var placeHolderID = '<%=ContentPlaceHolder1.ClientID%>';
    
    var buttonToBeClicked = document.getElementById ( placeHolderID + "_" + "ibtnSubmit" );
    
    buttonToBeClicked.click();
    

    希望这能解决您的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-12
      • 2018-07-18
      • 2017-02-19
      • 2011-06-14
      • 2013-05-30
      • 2012-11-02
      相关资源
      最近更新 更多