Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp:ImageButton使用javascript单击不起作用_Javascript_C#_Asp.net - Fatal编程技术网

asp:ImageButton使用javascript单击不起作用

asp: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

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"/>
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;");