首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 其他服务器 >

DIV 层覆盖页面,无法覆盖上拉表单有关问题

2013-01-01 
求助:DIV 层覆盖页面,无法覆盖下拉表单问题最近在做一个页面:功能上想实现点提交按钮的时候,页面变灰(并且

求助:DIV 层覆盖页面,无法覆盖下拉表单问题
最近在做一个页面:功能上想实现点提交按钮的时候,页面变灰(并且无法点击页面元素),同时给出一个提示信息:业务处理中,请稍候。

现在使用DIV实现了页面普通元素的覆盖,但是在IE6下面,无法半透明覆盖下拉表单(看了网上介绍的iframe方法,但是会把页面完全覆盖掉,如果页面由很多下拉表单组成,覆盖后的页面惨不忍睹),在其他浏览器下无法覆盖java.applet生成的页面控件。 

求助: 请大虾指点ie 6下如何半透明覆盖下拉表单, 或者能否把iframe整成半透明。 谢谢!

具体代码如下(点按钮'Show Div'能够覆盖页面普通元素,无法覆盖下拉表单):

<style type="text/css">
<!--
html,body {height:100%; margin:0px; font-size:12px;}

.mydiv {
background-color: #f9fff6;
border: 1px solid #009900;
text-align: center;
line-height: 25px;
font-size: 13px;
font-weight: bold;
z-index:99;
width: 300px;
height: 50px;
left:50%;/*FF IE7*/
top:50%;/*FF IE7*/

margin-left:-150px!important;/*FF IE7 half of its width */
margin-top:-60px!important;/*FF IE7 half of its height*/

margin-top:0px;

position:fixed!important;/*FF IE7*/
position:absolute;/*IE6*/

_top:       expression(eval(document.compatMode &&
            document.compatMode=='CSS1Compat') ?
            documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/
            document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);/*IE5 IE5.5*/

}


.bg {
background-color: #C2BEBF;
width: 100%;
height: 100%;
left:0;
top:0;/*FF IE7*/
filter:alpha(opacity=40);/*IE*/
opacity:0.4;/*FF*/
z-index:1;

position:fixed!important;/*FF IE7*/
position:absolute;/*IE6*/

_top:       expression(eval(document.compatMode &&
            document.compatMode=='CSS1Compat') ?
            documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/
            document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);/*IE5 IE5.5*/


--> 
</style>
<script language="javascript" type="text/javascript">
function showDiv(){
document.getElementById('popDiv').style.display='block';
document.getElementById('bg').style.display='block';
}

function closeDiv(){
document.getElementById('popDiv').style.display='none';
document.getElementById('bg').style.display='none';
}

</script>
<div id="popDiv" class="mydiv" style="display:none;">The system is dealing with your request, please waiting...<br/>
<!--<a href="javascript:closeDiv()">close</a>--></div>
<div id="bg" class="bg" style="display:none;">
</div>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>弹出半透明层 (支持IE FF)</title>

</head>



<body>
<form id="frm1" name="frm1" action="new_page_2.htm" method="post">
<input type="button" value="Show DIV" onclick="showDiv()" />
<select><option >test</option></select>
<br><br><br><br>
<select name="selOccPool" multiple="multiple"  size="6"  style="width:20%"  id="selOccPool">

<option value = "**All**" selected="true">**All**</option>
<option value="6A">6A</option>
<option value="6B">6B</option>
<option value="6C">6C</option>
<option value="6D">6D</option>
<option value="6E">6E</option>
<option value="6F">6F</option>
<option value="6G">6G</option>
</select>
</form>
</body>
</html>


[解决办法]
你可以将select隐藏或者disabled=true
[解决办法]
可以使用以下方式试试。

<form action="your submitfile" method="post">
<div style="display:none;">
    <select name="ttt">
        <option value="1">1</option>
        </select>
    </div>
    <input name="" type="submit" value="Test">
</form>
[解决办法]
引用:
谢谢1楼兄台,不过客户的要求为:页面变暗,能看点不了 ,所以隐藏不太好,至于disable下拉表单,有个严重的问题:disabled的标单的值在form提交时候没法提交到下个页面,需要自己添加隐藏变量或者其他。下拉表单很多时候不太好。依然感谢!


 2楼兄台的方法暂时没有试过,不过想了一下有点头大,我们有个页面有7个单选下拉表单,10个多选下拉表单。头疼中。。


 3楼兄弟,我明白你的意思,就像我的例子里显示提示信息的那个div可以使用iframe, 我的意思是半透明层div不能半透明遮盖select,要是给半透明div使用iframe,现在的情况就是页面都被完全遮盖了

 继续研究中。。。

用一个公用JS函数就可以解决全部页面的此类应用

热点排行