2013-06-12 55 views
0

工作,我有一個按鈕巴頓的。點擊()命令無法在Chrome

<asp:Button ID="submitRegionsButton" runat="server" Text="OK" OnClick="OnSubmitRegion" /> 

,當我點擊它,一切正常,但是當我有一個javascript函數調用它使用btn.click() ,click命令不會被執行。該按鈕是正確的,但只是不工作或運行在我的代碼後面的OnClick函數

任何想法?它在IE瀏覽器中工作,雖然沒有測試過Firefox,但是

好的,在Firefox中測試,在那裏不起作用。一切工作的權利,直到實際調用。點擊(),不知道爲什麼:

function dropDownProductBlur() { 
     if (isItemClicked) { 
      var combo = $find("<%= productDropDown.ClientID %>"); 
      var btnSubmitProd = $get(combo.get_id() + "_Footer" + "_submitProductsButton"); 
      if (btnSubmitProd) 
       btnSubmitProd.click(); 
     } 
    } 

只是爲了理解,按鈕包含在下拉列表中,當:調用點擊/

代碼下拉關閉,它「點擊」按鈕(或者,應該是..)單擊按鈕手動工作,並且查找工作並正確找到按鈕。

+0

'.click()'代碼在哪裏? – codingbiz

+0

該按鈕包含在一個下拉菜單中,當下拉菜單關閉時,它會運行其中的按鈕上的.click(),我會將運行在dropdownclose上的代碼放在 – noneabove

+0

上,但可能是一個愚蠢的評論,但是:您有:'OnClick =「OnSubmitRegion」'但我沒有看到它的功能突然。你確定你打電話是正確的嗎? – ErikMes

回答

1

我最近自己遇到了這個問題。我相信這個問題是,在JavaScript中,這個.click()被視爲組件的onClientClick事件,或者完全是其他東西。不確定。

在任何情況下,我的解決方案: 而不是調用btnSubmitProd.click(),做__doPostBack('Foo', 'Bar');其中foo是一個任意名稱的(通常是組件,因此「submitRegionButton」)和酒吧是該名稱的任意值,通常事件(所以「點擊」)(也有兩個下劃線,而不是一個)。然後,在你的代碼隱藏:

try { 
    if (Request["__EVENTTARGET".ToString() == "Foo" && Request["__EVENTARGUMENT"].ToString() == "Bar" { 
    //call the codebehind directly here 
    OnSubmitRegion(null null); 
    } 
} 

我假設你的代碼隱藏功能的形式protected void OnSubmitRegion(object sender, EventArgs e)的。如果您需要這些變量的值,事情會變得更復雜一些。如果沒有,請嘗試上述方法。

+0

似乎工作,'Foo'和'酒吧'不是各自出現的請求,但我能夠找出他們,所以謝謝:) – noneabove

+0

忽略我以前的評論!我意外地自動回發,所以你說的是正確的,我只是看到兩個回發的第一個,這是錯誤的/不同的,謝謝! – noneabove

+1

不用擔心:)很高興的代碼工作! –