打开 JavaScript 弹出窗口时出现问题

Problems opening javascript popup

本文关键字:问题 窗口 打开 JavaScript      更新时间:2023-09-26

我正在生成一个无序列表,其中包含来自我的代码隐藏的超链接。当我在代码隐藏中生成代码时,它看起来不错,但它在页面上呈现得很奇怪。

我的代码如下所示,并从数据库中获取数据以填充 UL:

output.AppendFormat("<li class='"depth-{0}'"><a href='#' OnClientClick='openNewWin('{1}')><span>{2}</span></a>",currentDepth,row["Href"], row["Name"]);

下面是在代码中生成 UL 时的外观示例:

<ul><li class="depth-1"><a href='#' OnClientClick='openNewWin('AddressBook.aspx')><span>Address Book</span></a>}

在 HTML 中,它是这样的:

<a href="#" onClientClick="openNewWin(" addressbook.aspx')="">

这一切都调用了一个JS函数,如下所示:

function openNewWin(url) {
    var x = window.open(url, 'mynewwin', 'width=600,height=600,toolbar=1,directories=no,location=no,menubar=no,left=0,top=0');
    x.focus();
}

JS函数工作正常。

有谁知道发生了什么?

你的世代线需要一些修复:你混合了'",你有一个未闭合的报价,你保持<li>标签打开。

源语言:

output.AppendFormat("<li class='"depth-{0}'"><a href='#' OnClientClick='openNewWin('{1}')><span>{2}</span></a>",currentDepth,row["Href"], row["Name"]);

固定:

//split to focus on the string
var frmt = "<li class='"depth-{0}'"><a href='"#'" OnClientClick='"openNewWin('{1}')'"><span>{2}</span></a></li>";
output.AppendFormat(frmt, currentDepth, row["Href"], row["Name"]);

你的 html 应该像这样呈现

<ul><li class="depth-1"><a href='#' onclick="openNewWin('AddressBook.aspx')"><span>Address Book</span></a></li></ul>
<a href="#" onclick="openNewWin('AddressBook.aspx)">test</a>

使用 onclick 而不是 onclientclick。