调用两个函数OnClientClick

时间:2014-02-13 14:13:12

标签: javascript jquery asp.net

这是我的工作代码

 <asp:LinkButton ID="lnkDel1" Text="Delete" runat="server" OnClientClick="return confirm('Delete this alert?','Confirm');" onClick="lnkDelete1_Click" CssClass="del_lnk" CommandArgument='<%#Eval("ID").ToString()%>' />

现在我想调用另一个函数 bindBlockUI(); ,它会阻止客户端点击用户界面,因此用户可能无法再次点击。

现在通过两个按钮确认生成警报,当我点击时,会发生一些事情,但确认了一些事件。< / p>

我想在用户点击警告框确认后立即阻止用户界面。

如何实现这一目标。

3 个答案:

答案 0 :(得分:1)

现在我做了类似这样的事情并且完美地工作了。它也没有从警报框取消取消主要功能。虽然感谢您的回答,因为您的答案引导我回答这个问题

function clearItem() 
{ 
    var result = confirm('Delete this alert?', 'Confirm'); 
    if (result) { 
        bindBlockUI(); 
        return true; 
    } else { 
        return false; 
    }
}

答案 1 :(得分:0)

首先定义一个通用函数:

function myFunction(){
var o=confirm('Delete this alert?','Confirm');
bindBlockUI();
return o;
}

现在这样称呼:

<asp:LinkButton ID="lnkDel1" Text="Delete" runat="server" OnClientClick="return myFunction();" onClick="lnkDelete1_Click" CssClass="del_lnk" CommandArgument='<%#Eval("ID").ToString()%>' />

答案 2 :(得分:0)

如果你定义一个函数,它会更容易阅读。

function onClientClick() {
    var result = confirm('Delete this alert?','Confirm');
    bindBlockUI();
    return result;
}

然后:OnClientClick="return onClientClick();"

但是你应该避免使用内联处理程序而使用addEventListener

document.getElementById('lnkDel1').addEventListener('click', onClientClick);

但是,如果您使用addEventListener,则必须稍微更改代码,以防止触发默认事件。

function onClientClick(e) {
    if (!confirm('Delete this alert?','Confirm')) e.preventDefault();
    bindBlockUI();
}