Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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
使用回发时的JavaScript奇怪行为_Javascript_Jquery_Asp.net - Fatal编程技术网

使用回发时的JavaScript奇怪行为

使用回发时的JavaScript奇怪行为,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我在web应用程序中遇到了一些与JavaScript相关的问题。代码实际上很简单,我只想使用命令asp:Repeater创建一定数量的按钮,如果发生按钮单击事件,请在新选项卡中打开pdf文件。我使用以下代码来实现这一点: <asp:Repeater ID="rpt1" runat="server" OnItemDataBound="rpt1_ItemDataBound"> <ItemTemplate> <div class="home_content2_

我在web应用程序中遇到了一些与JavaScript相关的问题。代码实际上很简单,我只想使用命令asp:Repeater创建一定数量的按钮,如果发生按钮单击事件,请在新选项卡中打开pdf文件。我使用以下代码来实现这一点:

<asp:Repeater ID="rpt1" runat="server" OnItemDataBound="rpt1_ItemDataBound">
  <ItemTemplate>
    <div class="home_content2_item">
      <asp:LinkButton ID="lkb1" runat="server" CommandArgument='<%#Eval("ID") %>' OnCommand="lkbDestaque_Command" OnClientClick="return PostToNewWindow();">
        <% if (language() == "pt-BR") %>
        <% { %>
        <%# Eval("Title") %>
        <% } %>
        <% if (language() == "es-CL") %>
        <% { %>
        <%# Eval("Title_es") %>
        <% } %>
        <% if (language == "en-GB") %>
        <% { %>
        <%# Eval("Title_en") %>
        <% } %>
      </asp:LinkButton>
    </div>
  </ItemTemplate>
</asp:Repeater>
奇怪的是,PostBack命令对第一个按钮不起作用,但对其他按钮起作用

单击第一个按钮时出现此错误:“\u dopostback error in null或undefined not a function object”


你们有过这样的问题吗?有人知道如何解决这个问题吗?

堆栈代码段(工具栏按钮)用于浏览器中可运行的示例。您的示例无法运行,因此只需使用代码块(
{}
)。(我已经为您修复了它。)请注意,除非您在客户端JavaScript中的某个地方声明了
originalTarget
,否则您将成为(我博客上的一篇文章)的牺牲品;一定要声明变量。另外,不要在
setTimeout
中使用字符串。取而代之的是:非常感谢你修复这篇文章和提供的提示!!不幸的是,即使像您告诉我的那样更改JavaScript,当其他按钮工作时,我在单击第一个按钮时仍然会收到错误消息。堆栈片段(
工具栏按钮)用于浏览器中可运行的示例。您的示例无法运行,因此只需使用代码块(
{}
)。(我已经为您修复了它。)请注意,除非您在客户端JavaScript中的某个地方声明了
originalTarget
,否则您将成为(我博客上的一篇文章)的牺牲品;一定要声明变量。另外,不要在
setTimeout
中使用字符串。取而代之的是:非常感谢你修复这篇文章和提供的提示!!不幸的是,即使像您告诉我的那样更改JavaScript,当其他按钮工作时,单击第一个按钮仍然会收到错误消息。
function PostToNewWindow() {
    originalTarget = document.forms[0].target;
    document.forms[0].target = '_blank';
    window.setTimeout("document.forms[0].target=originalTarget;", 600);
    return true;
}