模态窗口中的页面如有提交按钮,点击后会弹出新的页面。解决此问题有两方法:1、在head中,添加;2、把弹出的窗口页面做成框架网页,去加载要展示的网页;
模态窗口中的页面如有提交按钮,点击后会弹出新的页面。
解决此问题有两方法:
1、在head中,添加<base target="_self">;
2、把弹出的窗口页面做成框架网页,去加载要展示的网页;
下面就第一种解决方法给出自己写的一个实例
(1)新建一个htm文件

SelectFilterCondition.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>请选择…</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="ProgId" content="VisualStudio.HTML">
<meta name="Originator" content="Microsoft Visual Studio .NET 7.1">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="no-cache">
<meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-cache">
<base target="_self" />
<script language="javascript">
function Load(){
window.Code.location.href = 'SelectFilterCondition.aspx'+window.location.search;
}
</script>
</head>
<body topmargin=0 bottommargin=0 leftmargin=0 rightmargin=0 onload="Load()">
<table width=100% height=100% border=0 cellpadding=0 cellspacing=0>
<tr>
<td>
<iframe id=Code name=Code frameborder=0 height=100% width=100% scrolling="no"></iframe>
</td>
</tr>
</table>
</body>
</html>
(2)调用以下JS脚本

JSCode
function DoSelect()
{
var ht = document.getElementById("hidText");
var hd = document.getElementById("HidTxtID").value;
var cbs = document.getElementsByName("Sel");
ht.value ="";
for(var i=0;i<cbs.length;i++)
{
if(cbs[i].checked==true)
{
ht.value +=cbs[i].value+",";
}
}
ht.value=(ht.value).substr(0,(ht.value).length-1);
window.returnValue = ht.value;
window.close();
}
function OpenTextWin(ID,Filed,TxtID,SearchType)
{
var url="SelectFilterCondition.htm?ID="+ID+"&Filed="+Filed+"&TxtID="+TxtID+"&SearchType="+SearchType;
var rv = ShowModalDialog(url, 650, 550) ;
if( rv!=null && rv.length > 0)
{
if( TxtID != null )
{
TxtID.value = rv ;//显示值
}
}
}
(3)在使用页面中根据参数调用JSCode
例如在使用页面中添加代码:
<INPUT name='FC03_AB0111' size="12" type="text" id ='t4'/>
<input type='button' name='Submit' value='…' onclick="OpenTextWin('308236ED-4AA3-4FC4-8CE6-7ABEF9403A9F','FC03_AB0111',$('t4'),'search')" />
在弹出页面中添加代码:
<INPUT onclick="DoSelect()" type="button" value=" 确 定 ">
完成以上步骤以后即解决了模态窗口提交表单时弹出新窗口的问题,一个实用的带查询的模态窗口将展现在你面前!
(4)贴出实例的一张图片出来让大家看看

关于模态窗口(showModalDialog)的深入学习可参考:http://www.cnblogs.com/xiaotao823/archive/2009/02/05/1384836.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述