我已经从以前的基于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>
结果是一样的。
弹出窗口不得禁用父屏幕。
该网站正在使用另一个由色框弹出的窗口,该弹出窗口会禁用屏幕。
感谢您的善意回应。
最佳答案
似乎在popup()JavaScript函数中构建查询字符串时可能会遇到问题。您应该做的是将此任务分为两个步骤:
获取Window.Open首先工作(不带查询字符串):
<a class="hover-glow"
data-placement="bottom"
rel="tooltip"
title="change status"
href="javascript: popup()">
<i class="icon icon-random"></i>
</a>
<script type="text/javascript" charset="utf-8">
function popup()
{
//var url = 'update-status_popup.aspx?i='+Id+'&c='+StatusId;
var url = 'update-status_popup.aspx';
window.open(url);
}
</script>
然后,一旦popup()函数起作用,就构建动态查询字符串。有多种方法可以解决此问题。请在此处参考答案:How to pass a query string variable?
关于javascript - 弹出无法在asp.net和vb.net网页上运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23246856/