无法获取属性的值'单击&#39 ;:对象为null或未定义

时间:2012-03-27 22:46:59

标签: c# javascript asp.net onclick

所以我想在单击提交按钮时单击Button1。

以下是相关代码:

<input id="Submit1" type="submit" value="Search" onclick="javascript:check_user()" /> 
<script type="text/javascript">
            function check_user() {
                document.getElementById('<%=Button1.ClientID%>').click();
            }  
</script>
<asp:Button id="Button1" runat="server" Visible="false" OnClick="Button1_Click"/>

这是我得到的错误:

  

Microsoft JScript运行时错误:无法获取属性“click”的值:object为null或undefined

有没有人对问题可能是什么有任何想法?我一直在试着把头发弄出来。

3 个答案:

答案 0 :(得分:1)

如果您不限于java脚本,可以尝试使用jquery中的触发器,如此

 <script type="text/javascript">
            function check_user() {
           $("#<%=Button1.ClientID%>").trigger('click');
         //or

 $("#<%=Button1.ClientID%>").click();

            }  
</script>

答案 1 :(得分:1)

你不能只用一个按钮吗?

<asp:Button id="Button1" runat="server" Text="Search" OnClick="Button1_Click"/>

服务器端代码:

protected void Button1_Click(object sender, EventArgs e) {
    // processing code here
}

答案 2 :(得分:0)

当你使按钮不可见时,asp.net不会在html中渲染按钮控件。 (您可以检查HTML源代码)。您可以创建一个样式,并在客户端渲染后将其应用于asp.net按钮,使其不可见。

.MyHiddenButtonStyle{display:none;}// add this in the header in styles

<input id="Submit1" type="button" name="search" value="Search" onclick="javascript:check_user()" />
<asp:Button id="Button1" runat="server" CssClass="MyHiddenButtonStyle" OnClick="Button1_Click"/>

function check_user() {
        document.getElementById('<%=Button1.ClientID%>').click();
    }

我将提交按钮设为正常按钮还有一件事。无论如何,你正在使用javascript引发回发事件。