![](/img/trans.png)
[英]How to close a popup form after saving in asp.net and vb.net web application
[英]Popup not working on asp.net and vb.net web page
我已经从以前的基于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>
结果是一样的。
弹出窗口不得禁用父屏幕。
该网站正在使用另一个由colorbox弹出的窗口,它会禁用屏幕。
感谢您的善意回应。
似乎在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()函数起作用,就构建动态查询字符串 。 有多种方法可以解决此问题。 请在此处参考答案: 如何传递查询字符串变量?
我认为弹出功能不起作用。 您可能要查看浏览器控制台窗口,然后查看错误是什么。
您可以尝试将所有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是服务器变量,并且在客户端不可用。
要实现“弹出窗口”(而不是新的浏览器选项卡),则应考虑实现jQuery.UI Dialog 。 这是显示如何实现的答案的链接:
这里是jQuery UI对话框文档的链接: https : //jqueryui.com/dialog/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.