2012-03-27 62 views
0

所以我想可以點擊一個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 runtime error: Unable to get value of the property 'click': object is null or undefined

沒有人有任何想法,是什麼問題呢?我一直在試圖解決我的問題。

+0

爲什麼你需要點擊客戶端兩個按鈕?爲什麼不直接在服務器端運行相關的代碼呢?該表單是否發佈到第三方位置,並且您正嘗試在服務器上執行一些代碼? – mellamokb 2012-03-27 22:52:02

+0

如果你能告訴我一個辦法讓輸入的onclick去一個C#方法,那麼我將非常感激(可似乎從來沒有找對方法,當我嘗試) - 否則,這是我能想到這樣做的唯一途徑。 – 2012-03-27 22:58:06

+0

查看我發佈的答案。 – mellamokb 2012-03-27 23:02:40

回答

1

你就不能有一個按鈕做呢?

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

服務器端代碼:

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

我使用文本框和輸入來過濾我的GridView,所以我需要它在輸入的onclick上發生。該按鈕是我的方式來調用c#方法。 – 2012-03-27 23:06:01

+0

是否有* *是一個'input'標籤? 'asp:Button'有什麼問題?它將基本上做同樣的事情。 – mellamokb 2012-03-27 23:11:28

+0

非常好的一點。 xD我想這也可以。 – 2012-03-27 23:22:11

1

如果不限於Java的腳本,你可以嘗試使用觸發器從jQuery的這樣

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

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

      } 
</script> 
+0

不幸的是它似乎並沒有認識到jQuery的。安裝簡單嗎? – 2012-03-27 23:07:28

+0

是的,只需包括它。它甚至可以從微軟的CDN中獲得。 – ThiefMaster 2012-03-27 23:11:57

+0

甜 - 它沒有中斷,但它並沒有最終調用按鈕的OnClick方法... – 2012-03-27 23:23:05

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提出回發事件。

相關問題