UI
<asp:ImageButton ID="btnAdd" runat="server" AlternateText="AddNew"
ImageUrl="../images/add.png" CausesValidation="true" OnClick="btnAdd_Click" />
<asp:Image ID="imgProceed" ImageUrl="~/Images/proceed.gif" runat="server"/>
代码背后
btnAdd.Attributes.Add("onclick", "return false;"); //Adding client event to avoid submit for some validation purpose
imgProceed.Attributes.Add("onclick", "proceed('" + btnAdd.ClientID + "')");
的JavaScript
function proceed(buttonId)
{
document.getElementById('<%=btnAdd.ClientID%>').removeAttribute("onclick");
document.getElementById('<%=btnAdd.ClientID%>').click();
}
我尝试了上面的代码。我想通过JavaScript click
ImageButton。但它没有用。我想通过单击图像按钮来激活服务器端"btnAdd_Click"
事件。
答案 0 :(得分:0)
您正在设置它以调用名为proceed
的javascript方法imgProceed.Attributes.Add("onclick", "proceed('" + btnAdd.ClientID + "')");
但您的javascript方法实际上称为proceedToAdd
function proceedToAdd(buttonId)
答案 1 :(得分:0)
尝试以下代码 -
<asp:ImageButton ID="btnAdd" runat="server" AlternateText="AddNew"
ImageUrl="../images/add.png" CausesValidation="true" OnClick="btnAdd_Click" />
<asp:Image ID="imgProceed" ImageUrl="~/Images/proceed.gif" runat="server"/>
代码背后 -
protected void btnAdd_Click(object sender, ImageClickEventArgs e)
{
//Code to handle click
}
根据您的代码,您将onclick事件附加到Proceed功能。因此,如果它正在进入,则已经点击了继续功能意味着按钮。无需再次点击它。
如果您想点击其他javascript代码,那么下面的行就足够了。
document.getElementById('<%=btnAdd.ClientID%>').click();
也不需要下面的代码行
btnAdd.Attributes.Add("onclick", "return false;");
您可以在Proceed功能中执行此决定。如果在Proceed函数中返回true,则它将提交给服务器。如果您返回false,它将在客户端上显示您想要的验证消息。