需要將之前後臺傳進來的一個值做處理後輸出
難點:
1.後臺傳進來的的值是EL表達式,如:${PotContract.content},無法直接傳進JavaScript裏面;
2.列表循環的部分如何獲取每行的字段;
解決方案:
使用隱藏域保存字段,然後通過在JavaScript裏面的document.getElementById來獲取相應的值。這樣的話就需要將寫在循環裏面的隱藏域的ID做一下處理,不然有多個相同的ID,JavaScript只認第一個。所以我採用了序列,在循環標籤那裏定義一個序列,然後在隱藏域ID後面加上序列。
代碼示例:
2016年3月27號與律林幫公司宿舍
<script type="text/javascript">
function getDateAndName(index) {
var path=document.getElementById("path"+index).value;
var truePath=document.getElementById("truePath"+index).value;
var a = path.lastIndexOf('\\');//文件名
var b = path.lastIndexOf('\\',a-1);//時間
var Date = path.substring(b+1,a);
var Name = path.substring(a+1);
var temp = truePath+Date+"/"+Name;
window.open(temp);
}
</script>
</head>
<body>
<h4 class="header">我的合同</h4>
<div class="stream">
<c:forEach items="${page.list}" var="porContract" varStatus="status">
<div class="item">
<p class="span3">名稱:${porContract.name}</p>
<p class="span2">狀態:待審覈</p>
<p class="span3">合同編號:${porContract.code}</p>
<p class="span3">創建人:桔子汽水藍莓味</p>
<form action="">
<p id="content${status.index}" hidden="hidden">${porContract.content}</p>
</form>
<p>
<input type="hidden" name="path" id="path${status.index}" value="${porContract.path}">
<input type="hidden" name="truePath" id="truePath${status.index}" value="${truePath}">
<input type=button class="btn btn-success" οnclick="getDateAndName(${status.index})" value="下載合同">
</p>
</div>
</c:forEach>
</div>
</body>
</html>
2016年3月27號與律林幫公司宿舍