如果你要弹出来的,就用window.showModalDialog,可以把原因内容传回给父窗口写入数据库,当然open也可以。
否则像1楼说的,用div控制,设置display或者visible属性,来控制是否可见。
否则像1楼说的,用div控制,设置display或者visible属性,来控制是否可见。
解决方案 »
- JS判断浏览器为360浏览器
- 发布JS游戏框架JYG,附自己开发的几款JS小游戏
- 提示js缺少对象,求大神指点
- 求教javascript高手
- JavaScript 超简单问题 速度来 我好结贴
- 想学习cloudgamer代码的,想深入研究js面向对象编程的童鞋们请进。。。
- 在C#中实现图片轮显中的JS代码
- 问题讨论:如何让javascript边运行边输出到浏览器,而不是运行完才输出?
- 文字截断怎么做?
- 在一个frame里使另外一个frame里的form提交该怎样写?top.mainFrame.form1.submit()怎么不行?缺少对象?
- 谈谈你对函数式编程的理解和看法。
- 求助:关于pdf打印,弄了一天了都没成,咋办呢
<head>
<style type="text/css">
#divh { z-index:10001; top:30%; left:45%; width:420px; background-color:#ffffff; border:solid 1px #555; }
.tit { background-color:#f0f0f0; border-bottom:solid 1px #555; padding:8px;}
.bod { padding:20px;}
.bot {background-color:#f0f0f0; border-top:solid 1px #555; text-align:right; padding:4px;}
</style>
</head>
<body>
<p>正文</p>
<p>正文</p>
<p><a href="javascript:closeit();">关闭</a></p>
<p>正文</p>
<p>正文</p>
<p>正文</p>
<div id="divh" style="position: absolute; display: none;">
<div class="tit">请输入关闭原因</div>
<div class="bod"><textarea cols="50" rows="5"></textarea></div>
<div class="bot"><input type="button" value="确定" onclick="cancelShide()" /></div>
</div>
</body>
<script type="text/javascript">
function closeit()
{
shideBody();
}
var shield;
function shideBody()
{
shield = document.createElement("DIV");
shield.id = "shield";
shield.style.position = "absolute";
shield.style.left = "0px";
shield.style.top = "0px";
shield.style.width = "100%";
shield.style.height = document.documentElement.scrollHeight+"px";
shield.style.background = "#333333";
shield.style.textAlign = "center";
shield.style.zIndex = "10000";
shield.style.filter = "alpha(opacity=0)";
shield.style.opacity = 0;
document.body.appendChild(shield);
this.setOpacity = function(obj,opacity){
if(opacity>=1)opacity=opacity/100;
try{ obj.style.opacity=opacity; }catch(e){}
try{
if(obj.filters.length>0 && obj.filters("alpha")){
obj.filters("alpha").opacity=opacity*150;
}else{
obj.style.filter="alpha(opacity=\""+(opacity*150)+"\")";
}
}catch(e){}
}
var c = 0;
this.doAlpha = function(){
if (++c > 20){clearInterval(ad);return 0;}
setOpacity(shield,c);
}
var ad = setInterval("doAlpha()",1); document.getElementById("divh").style.display = "";
document.getElementById("divh").style.marginLeft = "-200px";
document.getElementById("divh").style.marginTop = -75+document.documentElement.scrollTop + "px";}
function cancelShide()
{
if(document.getElementById("divh"))
{
document.getElementById("divh").innerHTML = "";
document.getElementById("divh").style.display = "none";
}
if(shield)
{
document.body.removeChild(shield);
}
}
</script>
</html>
这个怎么提交就不用说了吧,也许你希望在提交后自动关闭这个窗口然后刷新父窗口,也能做到如果想用div模拟对话框,那就彻底点,用ajax提交,成功后下一步动作...
怎么用div做对话框也不用说了吧
<head>
<style type="text/css">
#divh { z-index:10001; top:30%; left:45%; width:420px; background-color:#ffffff; border:solid 1px #555; }
.tit { background-color:#f0f0f0; border-bottom:solid 1px #555; padding:8px;}
.bod { padding:10px;}
.bot {background-color:#f0f0f0; border-top:solid 1px #555; text-align:right; padding:4px;}
</style>
</head>
<body>
<p>正文 </p>
<p>正文 </p>
<p> <a href="javascript:closeit();">关闭 </a> </p>
<p>正文 </p>
<p>正文 </p>
<p>正文 </p>
<div id="divh" style="position: absolute; display: none;">
<div class="tit">请输入关闭原因 </div>
<div class="bod"><iframe src="b.html" frameborder=0 scrolling=no style="width:388px;height:70px;"></iframe></div>
<div class="bot"> <input type="button" value="确定" onclick="dook()" /> <input type="button" value="取消" onclick="cancelShide()" /> </div>
</div>
</body>
<script type="text/javascript">
function closeit()
{
shideBody();
}
var shield;
function shideBody()
{
shield = document.createElement("DIV");
shield.id = "shield";
shield.style.position = "absolute";
shield.style.left = "0px";
shield.style.top = "0px";
shield.style.width = "100%";
shield.style.height = document.documentElement.scrollHeight+"px";
shield.style.background = "#333333";
shield.style.textAlign = "center";
shield.style.zIndex = "10000";
shield.style.filter = "alpha(opacity=0)";
shield.style.opacity = 0;
document.body.appendChild(shield);
this.setOpacity = function(obj,opacity){
if(opacity>=1)opacity=opacity/100;
try{ obj.style.opacity=opacity; }catch(e){}
try{
if(obj.filters.length>0 && obj.filters("alpha")){
obj.filters("alpha").opacity=opacity*150;
}else{
obj.style.filter="alpha(opacity=\""+(opacity*150)+"\")";
}
}catch(e){}
}
var c = 0;
this.doAlpha = function(){
if (++c > 20){clearInterval(ad);return 0;}
setOpacity(shield,c);
}
var ad = setInterval("doAlpha()",1); document.getElementById("divh").style.display = "";
document.getElementById("divh").style.marginLeft = "-200px";
document.getElementById("divh").style.marginTop = -75+document.documentElement.scrollTop + "px";}
function cancelShide()
{
if(document.getElementById("divh"))
{
document.getElementById("divh").innerHTML = "";
document.getElementById("divh").style.display = "none";
}
if(shield)
{
document.body.removeChild(shield);
}
}
function dook()
{
document.frames[0].document.forms[0].submit();
document.getElementById("divh").getElementsByTagName("div")[1].innerHTML = "<div style='padding:20px'>提交成功!</div>";
setTimeout("cancelShide()",2000);
}
</script>
</html>b.html<html>
<head>
</head>
<body>
<form>
<textarea name="message" cols=50 rows=3></textarea>
</form>
</body>
</html>