前兩天接到這樣一個任務:在用戶上傳附件,需要校驗用戶上傳附件中身份證信息,如果存在錯誤信息需要將所有的錯誤信息展示出來。
這個需求我一開始考慮得就是使用jQuery Dialog。但是看到這個項目沒有使用而是使用showModelDialog,所以為了統一,也需要使用showModelDialog。
window.showModalDialog()方法用來創建一個顯示HTML內容的模態對話框,由於是對話框,因此它並沒有一般用window.open()打開的窗口的所有屬性。
使用方法:
varreturnValue = window.showModalDialog(URL [, arguments] [, features])
參數說明:
URL:必選參數:用來指定對話框要顯示的文檔的URL。
arguments:可選參數。用來向對話框傳遞參數。傳遞的參數類型不限,包括數組等。對話框通過window.dialogArguments來取得傳遞進來的參數。
features可選參數。用來描述對話框的外觀等信息,可以使用以下的一個或幾個,用分號”;”隔開。
dialogHeight 對話框高度,不小於100px。
dialogWidth: 對話框寬度。
dialogLeft: 距離桌面左的距離。
dialogTop: 離桌面上的距離。
center: {yes| no | 1 | 0 }:窗口是否居中,默認yes,但仍可以指定高度和寬度。 help: {yes | no | 1 | 0 }:是否顯示幫助按鈕,默認yes。 resizable: {yes | no | 1 | 0 } [ie5+]:是否可被改變大小。默認no。 status: {yes | no | 1 | 0 } [IE5+]:是否顯示狀態欄。默認為yes[ Modeless]或no[Modal]。 scroll:{ yes | no | 1 | 0 | on | off }:指明對話框是否顯示滾動條。默認為yes。
示例:
. 代碼如下:
var rv = window.showModalDialog("<%=path%>/query/query_showErrorInfo.action","","dialogWidth=600px;dialogHeight="+height+"px;dialogLeft=400px;dialogTop=200px;center=no;resizable=no");
height:是根據展示的個數進行控制的。
url:為一個action,該action用戶獲取所有的錯誤人員信息。同時跳轉到errorInfo.jsp頁面
errorInfo.jsp
. 代碼如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>批量查詢身份錯誤人員名單</title>
<script type="text/javascript" src="/bjlc/js/jquery-1.4.4.min.js"></script>
<link href="/bjlc/css/queryErrorInfo.css" rel="stylesheet" type="text/css" />
<link href="/bjlc/css/index.css" rel="stylesheet" type="text/css" /> </head>
<base target="download">
<body>
<div class="errorMain">
<div class="errorBtn">
<input type="button" value="我要修改" class="button_08" onclick="wyxg();"/>
<input type="button" value="繼續查詢" class="button_08" onclick="jxcx();"/>
</div>
<div id="showErrorInfo">
<table class="errorTable" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3" class="errorTitle">錯誤人員名單</td>
<s:form theme="simple" id="error_download" namespace="/query" method="post"></s:form>
</tr>
<tr>
<td width="20%" align="center">姓名</td>
<td width="30%" align="center">身份證</td>
<td width="50%" align="center">錯誤信息</td>
</tr>
<s:iterator value="#request.ecList">
<tr>
<td><s:property value="xm"/> </td>
<td><s:property value="sfz"/> </td>
<td><s:property value="message"/> </td>
</tr>
</s:iterator>
</table>
</div>
</div>
</body>
<SCRIPT type="text/javascript">
//設置高度
function setHeight(){
var _allH = $(".errorMain").height();
var _H1 = $("#showErrorInfo").height();
if(_allH>=536){
$("#showErrorInfo").css("height","500px")
}
}
window.onload = setHeight;
</SCRIPT>
</html>
樣式表:queryErrorInfo.css
. 代碼如下:
html,body,.errorMain{
overflow:hidden;
height: 100%;
height: 100%;
}
#showErrorInfo{
width: 100%;
OVERFLOW-Y: auto;
OVERFLOW-X:hidden;
}
.errorTable{
width: 90%;
margin: 10px 5%;
font-size: 12px;
border: 1px solid #8DC8FF;
}
.errorTable td{
height: 40px;
border-right: 1px solid #8DC8FF;
border-bottom:1px solid #8DC8FF;
text-align: center;
}
.errorTable td:last-child{
border-right: 0px;
}
td[id="btn"]{
border-bottom: 0px;
}
.errorTitle{
font-weight: bold;
font-size: 14px;
background-color: #C6E3FF;
color: #176ED2;
text-align: center;
}
.errorBtn{
width: 100%;
height: 20px;
text-align: center;
bottom: 0px;
position:absolute;
}
結果如下: