这里我需要使用javascript检查按钮点击,即如果点击按钮A我会调用javascript函数,如果点击按钮B,我将调用另一个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 :(得分: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" />
OR(在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
答案 1 :(得分:3)
您必须使用ImageButton的OnClientClick属性来分配javascript函数。您可以在javascript调用中传递此内容以获取单击的按钮对象。
OnClientClick =“TestClick('A',this);”在按钮中添加
在.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 :(得分: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 :(得分: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