2012-06-28 113 views
1

在這裏,我需要使用javascript即檢查按鈕點擊)如果點擊按鈕A,我會調用JavaScript函數,如果點擊按鈕B我會打電話給另一個JavaScript函數。如何檢查一個按鈕是否被點擊使用javascript?

if(document.getElementById('imgBTNExportPPT').clicked == true) 
{ 
    ShowDialogExportPPTPOPUP(); 
} 
else if(document.getElementById('btnShowModal').clicked == true) 
{ 
    ShowDialogPrintPOPUP(); 
} 

 <asp:ImageButton ID="imgBTNExportPPT" runat="server" Width="15" Height="15" border="0" 
                  OnClick="imgBTNExportPPT_Click" ImageUrl="~/Images/PPT_icon.png" /> 
    <asp:ImageButton ID="btnShowModal" runat="server" Width="15" Height="15" border="0" 
                 ImageUrl="~/Images/Print_icon.png" onclick="btnShowModal_Click" /> 

是有可能??任何建議??

+0

看看我的更新答案。 –

+0

可能重複:http://stackoverflow.com/questions/2788191/is-there-a-way-to-use-javascript-to-check-if-a-button-has-been-clicked –

回答

5

試試這個:

function buttonClicked(choice) 
{ 
    if(choice == 'A') 
    { 
     ShowDialogExportPPTPOPUP(); 
    } 
    else if(choice == 'B') 
    { 
     ShowDialogPrintPOPUP(); 
    } 
} 

HTML代碼應該是這樣的:

<input type='button' value='ButtonA' onclick="buttonClicked('A')" /> 
<input type='button' value='ButtonB' onclick="buttonClicked('B')" /> 

如果它是一個服務器端控制,那麼你可以做到這一點有兩種方式:

<asp:ImageButton onClientClick="buttonClicked('A')" ID="imgBTNExportPPT" runat="server" Width="15" Height="15" border="0" 
                  OnClick="imgBTNExportPPT_Click" ImageUrl="~/Images/PPT_icon.png" /> 
    <asp:ImageButton onClientClick="buttonClicked('A')" ID="btnShowModal" runat="server" Width="15" Height="15" border="0" 
                 ImageUrl="~/Images/Print_icon.png" onclick="btnShowModal_Click" /> 

或者(在C#)

{ 
imgBTNExportPPT.Attributes.Add("onclick", "buttonClicked('A')"); 
btnShowModal.Attributes.Add("onclick", "buttonClicked('B')"); 
} 

http://msdn.microsoft.com/en-us/library/7a9d6h4f(v=vs.80).aspx

+0

:它的一個asp按鈕控制,然後我必須在onclientclick中調用這個按鈕? – Rooney

+0

是的,你將不得不使用onclientclick屬性。 –

+0

謝謝。一切順利。 –

2

您可以添加一個標識或只是調用在onclick事件的函數。例如:

<script type="text/javascript"> 
    function onButtonClick(button) 
    { 
     alert("button " + button + " clicked!"); 
    } 
</script> 

<button id="ButtonA" onclick="javascript:onButtonClick('buttonA'); return false;" /> 
<button id="ButtonB" onclick="javascript:onButtonClick('buttonB'); return false;" /> 
3

您必須使用ImageButton的OnClientClick屬性來分配javascript函數。你可以通過javascript調用來獲取被點擊的按鈕對象。

的OnClientClick = 「TestClick( 'A',這一點);」按鈕

在.aspx頁面中

<asp:ImageButton OnClientClick="TestClick('A', this);" ID="imgBTNExportPPT" runat="server" Width="15" Height="15" border="0"                 OnClick="imgBTNExportPPT_Click" ImageUrl="~/Images/PPT_icon.png" /> 

<asp:ImageButton OnClientClick="TestClick('B', this);" ID="btnShowModal" runat="server" Width="15" Height="15" border="0" 
                   ImageUrl="~/Images/Print_icon.png" onclick="btnShowModal_Click" /> 

添加此腳本

function TestClick(choice, btnClicked) 
{ 
    alert(btnClicked.id + " clicked"); 
    if(choice == 'A') 
    { 
     ShowDialogExportPPTPOPUP(); 
    } 
    else if(choice == 'B') 
    { 
     ShowDialogPrintPOPUP(); 
    } 
} 
2

這裏是一個很好的例子。將您的代碼回調runOnce,並創建一個onclick事件處理程序,如下面的一個限制你的功能,一個電話:

function runOnce(callback) { 

    var done = false; 

    return function() { 

    if (!done) { 
     done = true; 

     callback(); 

    } 

    }; 

} 

var one = runOnce(function() { 
    alert('Once'); 
}), 
    two = runOnce(function() { 
    alert('Once only too.'); 
}); 

document.getElementById('first').onclick = one; 
document.getElementById('second').onclick = two; 

這裏是一個DEMO

相關問題