JavaScript使用技巧之處理EL表達式

需求:
        需要將之前後臺傳進來的一個值做處理後輸出

難點:

        1.後臺傳進來的的值是EL表達式,如:${PotContract.content},無法直接傳進JavaScript裏面;

        2.列表循環的部分如何獲取每行的字段;
解決方案:
        使用隱藏域保存字段,然後通過在JavaScript裏面的document.getElementById來獲取相應的值。這樣的話就需要將寫在循環裏面的隱藏域的ID做一下處理,不然有多個相同的ID,JavaScript只認第一個。所以我採用了序列,在循環標籤那裏定義一個序列,然後在隱藏域ID後面加上序列。

代碼示例:
<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號與律林幫公司宿舍
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章