我从以前的开发人员那里接管了一个基于asp.net和vb.net的web应用程序。
我尝试用javascript创建一个简单的弹出窗口,但是弹出窗口不起作用。
asp.net代码是
<a class="hover-glow" data-placement="bottom" rel="tooltip"
title="change status"
data-bind="attr: { 'href':'update-status_popup.aspx?i='
+ Id + '&c=' + StatusId }">
<i class="icon icon-random"></i>
</a>
链接在另一个页面上打开。打开链接时,也会从数据库中获取ID。
现在的要求是在弹出窗口中打开链接。
我已经创建了一个javascript函数调用popup()。守则如下:
<script type="text/javascript" charset="utf-8">
function popup() {
var url = 'update-status_popup.aspx?i=' + Id + '&c=' + StatusId;
window.open(url);
}
</script>
并按以下方式编辑了html代码:
<a class="hover-glow" data-placement="bottom" rel="tooltip"
title="change status"
databind = "attr: { 'href = javascript: popup()' }">
<i class="icon icon-random"></i>
</a>
当我点击链接时,什么都不会发生。
我也尝试过:
<a class="hover-glow" data-placement="bottom" rel="tooltip"
title="change status" onclick ="javascript: popup()">
<i class="icon icon-random"></i>
</a>
以及:
<a class="hover-glow" data-placement="bottom" rel="tooltip"
title="change status" href ="javascript: popup()">
<i class="icon icon-random"></i>
</a>
结果是一样的。
弹出不能禁用父屏幕。
该网站正在使用另一个弹出的彩色框,它禁用屏幕。
感谢你的好意。
发布于 2014-04-23 15:07:32
在弹出()函数中构建查询字符串时,可能出现了JavaScript问题。您应该做的是将此任务分为两个步骤:
发布于 2014-04-23 15:33:56
我假设弹出函数不起作用。您可能需要查看浏览器控制台窗口,看看错误是什么。
你可以试着把所有的js都放进href。
data-bind="attr: { 'href': 'javascript: window.open(\'update-status_popup.aspx?i=' + Id + '&c=' + StatusId + '\')' }"
或者有一个以url作为参数的通用弹出函数。
data-bind="attr: { 'href': 'javascript: popup(\'update-status_popup.aspx?i=' + Id + '&c=' + StatusId + '\')' }"
function popup(url) {
window.open(url);
}
我认为Id和StatusId是服务器变量,在客户端不可用。
发布于 2014-04-23 17:14:32
要实现“弹出”(不是新的浏览器选项卡),您应该考虑实现jQuery.UI对话框。这里有一个指向一个答案的链接,它展示了如何实现它:
How to display an IFRAME inside a jQuery UI dialog
下面是指向jQuery UI对话框文档的链接:https://jqueryui.com/dialog/
https://stackoverflow.com/questions/23246856
复制相似问题