asp:ImageButton使用javascript单击不起作用
UIasp:ImageButton使用javascript单击不起作用,javascript,c#,asp.net,Javascript,C#,Asp.net,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"/> JavaScr
<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"/>
JavaScript
function proceed(buttonId)
{
document.getElementById('<%=btnAdd.ClientID%>').removeAttribute("onclick");
document.getElementById('<%=btnAdd.ClientID%>').click();
}
功能继续(按钮NID)
{
document.getElementById(“”).removeAttribute(“onclick”);
document.getElementById(“”)。单击();
}
我尝试了上面的代码。我想通过JavaScript单击图像按钮。但它不起作用。我想通过单击图像按钮触发服务器端的
“btnAdd\u Click”
事件。您正在将其设置为调用名为“继续”的javascript方法
imgProceed.Attributes.Add("onclick", "proceed('" + btnAdd.ClientID + "')");
但是您的javascript方法实际上称为proceedToAdd
function proceedToAdd(buttonId)
试试下面的代码-
<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"/>
根据您的代码,您正在附加onclick事件以继续执行该功能。所以,若它进入“继续”功能,则表示按钮已单击。无需再次单击它
如果您想单击其他javascript代码,则单击下面的行就足够了
document.getElementById('<%=btnAdd.ClientID%>').click();
您可以在“继续”功能中做出此决定。若在继续函数中返回true,则它将提交到服务器。如果返回false,它将在客户端上显示所需的验证消息。在浏览器中调试JavaScript时,会发生什么?找到元素了吗?是否有要删除的
onclick
属性?那个属性里有什么?您是否也正在删除调用回发的单击处理程序?(这可以解释您看到的不调用回发的行为。)为什么要通过javascript启动btnAdd_Click?如果您在codebehind中有处理程序,它无论如何都应该被触发。第二,为什么要删除document.getElementById(“”).removeAttribute(“onclick”)@Amit I从代码隐藏中添加了“onclick”属性。在继续之前,我需要删除onclick属性。正当否则它将因为“return false;”语句而无法继续。您正在做一些奇怪的事情。为什么添加客户端单击处理程序只是为了以后删除它?只需将其设置为执行客户端验证的函数,并根据验证结果返回true/false。这是我的场景。我想让图像按钮点击使用javascript。我立即纠正它。。。请检查更改
protected void btnAdd_Click(object sender, ImageClickEventArgs e)
{
//Code to handle click
}
document.getElementById('<%=btnAdd.ClientID%>').click();
btnAdd.Attributes.Add("onclick", "return false;");