2017-08-25 106 views
1

我想觸發服務器上的onclick事件並在客戶端調用函數(notBrowserClose())。Javascript事件和函數觸發器

<asp:Button ID="ButtonSave0" runat="server" OnClick="notBrowserClose(); ButtonSave_Click" Text="Save all" Style="margin-left: 860px" Width="170px" /> 

這段代碼不起作用,但你知道我想做什麼。

+0

請嘗試下面的代碼.... – jANVI

+0

分享您的JavaScript代碼。 –

回答

0
<asp:Button ID="ButtonSave0" runat="server" OnClientClick="notBrowserClose();" OnClick="ButtonSave_Click" Text="Save all" Style="margin-left: 860px" Width="170px" /> 
+0

我曾嘗試過,但它沒有工作,功能沒有得到觸發。 –

+0

@jANVI你能否詳細說明侯改變了什麼? – thomaux

+0

添加OnClientClick() – jANVI

0

你應該區分OnClick & OnClientClick,前者用於服務器端事件處理程序,後者用於客戶端的JS事件處理程序:

<asp:Button ID="ButtonSave0" runat="server" 
OnClick="ButtonSave_Click" OnClientClick="notBrowserClose();" 
Text="Save all" Style="margin-left: 860px" Width="170px" /> 

參考:

Button Class (System.Web.UI.WebControls)

+0

我試過這個,它不工作,函數notBrowserClose(){ browserClose = false; alert(「tr」); } 我有一個突破點,但它沒有去那裏.. –

+0

@IbrahimAweidah是'alert(「tr」)'通過顯示消息執行? –

+0

不是它沒有,只有onbeforeunload方法被執行: 功能areYouSure(){ 如果(allowPrompt){ VAR confMessage =「******************* ******************** \ n \ n在離開預算頁面之前,請檢查是否保存了所有內容。\ n \ n ********* **********「; 返回confMessage; } } window.onbeforeunload = areYouSure; 所以在這個警報後,我沒有得到「tr」警報。 –

0

也許你可以試試這個使用jQuery click()如下圖所示:

$('#<%=ButtonSave0.ClientID%>').click(function() { 
     // your code goes here 
     // if this alerts triggers your function is being called alright 
     alert('i am here !'); 
     // is this a variable ??? may be you can declare it first ? 
     browserClose = false; 
     alert("tr"); 
    }); 

Click()將事件處理程序綁定到「click」JavaScript事件,或在元素上觸發該事件。 此外,您正在使用按鈕的客戶端ID,如上面的代碼所示。

希望這會有所幫助!