弹出窗口无法在asp.net和vb.net网页上工作
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>
结果是一样的。
弹出窗口不得禁用父屏幕。
该网站正在使用另一个弹出的彩色框禁用屏幕。
感谢您的友好回应。
您可能在popup()JavaScript函数中构建查询字符串时遇到问题。你应该做的是把这个任务分成两个步骤:
-
获取窗口。首先打开工作(不带查询字符串):
<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对话框。这里有一个链接,显示了如何实现它:
如何在jQuery UI对话框中显示IFRAME
这里有一个指向jQuery UI对话框文档的链接:https://jqueryui.com/dialog/
相关文章:
- 将数据从javascript文件导入VB.Net页面
- VB NET JQUERY AJAX上出现错误500
- Calling VB.Net from Javascript
- 如何从vb.net中的页面加载事件中调用特定的javascript函数
- 通过vb.net使用javascript
- 在 Javascript 中使用 C#/VB.NET 值
- ASP.Net VB - 显示数据折叠样式
- 在代码隐藏 (asp.net VB) 中返回“完整”客户端 ID
- 在代码后面从window.confirm中检索值.[VB.net]
- 如何从vb,net后面的代码中调用这个Js函数
- 使用Asp.net(VB.net)或Javascript将条形码生成为PDF文档
- 获取 Checked Checbox 的值返回 JavaScript/ASP.NET VB 中未定义的值
- 如何将文本框中的值存储到 asp.net vb.net 应用程序中的 JavaScript 变量中
- ASP.net VB 详细信息视图插入:取消问题的 javascript 回发
- 将 JavaScript 正则表达式转换为 asp.net vb
- 使用 ASP.Net/VB.Net/jQuery 更改 PNG 的色调或颜色
- asp.net(VB)的倒计时计时器,该计时器通过回发保持不变
- ASP.NET/VB.NET:Dropdownlist SelectedIndexChanged未使用onchange=
- 确认提示信息(ASP.NET/VB)
- Asp.Net / VB.Net webservice函数调用的奇怪行为