使用回发时的JavaScript奇怪行为
我在web应用程序中遇到了一些与JavaScript相关的问题。代码实际上很简单,我只想使用命令asp:Repeater创建一定数量的按钮,如果发生按钮单击事件,请在新选项卡中打开pdf文件。我使用以下代码来实现这一点:使用回发时的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_
<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;
}