如何在<a>标签中调用onclick函数?更新

2022-08-30 12:42:44

我想打开一个新窗口,点击1

$leadID = "<a href='javascript:onclick=window.open(lead_data.php?leadid=1, myWin, scrollbars=yes, width=400, height=650);'>1</a>";

它没有向我显示错误。有没有其他方法可以打开新窗口。

这是小提琴 http://jsfiddle.net/ankurdhanuka/uwypv/

提前致谢。


答案 1

单独尝试onclick函数,它可以让你访问执行你的函数,这可以用来打开一个新窗口,为此,你首先需要创建一个javascript函数,你可以在那里定义它,在你的锚标记中,你只需要调用你的函数。

例:

function newwin() {              
 myWindow=window.open('lead_data.php?leadid=1','myWin','width=400,height=650')
}

了解如何从锚点标签调用它

<a onclick='newwin()'>Anchor</a>

更新

访问此 jsbin

http://jsbin.com/icUTUjI/1/edit

也许这会帮助你理解你的问题。


答案 2

乐趣!这里有一些事情要梳理:

  • $leadID似乎是一个php字符串。确保在正确的位置打印。还要注意传递自己的字符串所涉及的所有风险,例如跨站点脚本SQL注入漏洞。真的没有理由让面向互联网的生产代码不在一个坚实的框架上运行
  • Javascript中的字符串(如PHP和HTML)需要用或字符括起来。由于你已经同时在两者和 中,你会想要逃离你选择的任何一个。 转义 PHP 引号,或转义 HTML 引号。"'"'\'&apos;
  • <a />元素通常用于“超”链接,并且几乎总是带有指示其目的地的属性,如下所示:。href<a href="http://www.google.com">Google homepage</a>
  • 您试图在用户点击时加倍观看。为什么?因为标准的点击既激活了链接(导致浏览器导航到任何URL,即使执行Javascript),又“触发”onclick事件。提示: 将 添加到 Javascript 事件以禁止默认行为。return false;
  • 在Javascript中,它本身并不意味着任何东西。这是因为 onclick 是一个属性,而不是一个变量。必须有对某个对象的引用,这样它就知道我们在说谁!一个这样的对象是 。你可以写.onclickonclickwindow<a href="javascript:window.onclick = location.reload;">Activate me to reload when anything is clicked</a>
  • 在 HTML 中,只要它是 HTML 标记的一部分,就可以单独表示某些含义:.我敢打赌你已经想到了这一点。onclick<a href="#" onclick="location.reload(); return false;">
  • 这两种任务之间的巨大差异。Javascript期望一些尚未运行的东西。你可以把东西包装在一个块中,以发出应该在以后运行的代码,如果你想现在指定一些参数(就像我上面没有用):。==functionreload<a href="javascript:window.onclick = function () { window.open( ... ) };"> ...
  • 您是否知道您甚至不需要使用Javascript来向浏览器发出信号以在新窗口中打开链接?有一个特殊的目标属性:.<a href="http://www.google.com" target="_blank">Google homepage</a>

希望这些是有用的。