我常用於在jsp頁面遍歷集合和分頁中的頁面跳轉事件。
jsp:
<!-- 引入jstl --> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!-- 引入JQuery --> <script type="text/javascript" src="js/jquery-3.2.1.js" ></script> <!-- 部分jsp代碼 --> <c:forEach items="${list }" var="sn" > <tr> <td class="td2" >單選</td> <td class="td2" >${sn.operator_ID }</td> <td class="td2" >${sn.operator_Name }</td> <td class="td2" >${sn.is_Admin=="Y"?"管理員":"普通用戶" }</td> <td class="td2" > <input type="button" onclick="updatethis('${sn.operator_ID }') " name="btnupdate" value="修改" /></td> </tr> </c:forEach> <!-- 以上jsp中調用的 onclick="updatethis('${sn.operator_ID }') " click事件中的updatethis();方法 --> <script type="text/javascript"> function updatethis(x){ window.location.href="hello_toUpdate.action?thisid="+x; }; </script>
問題:
使用這種方式向方法中傳值: onclick="updatethis('${sn.operator_ID }') "
el表達式的單引號需要加上,代表傳遞過去的是字符串,當然不加的時候有時候也是沒有問題的(原因不知道)。
常用代碼:
<table id="table1"> <tr> <td style="text-align: left;" > [第${page.currentPage }頁 | 共${page.totalPage }頁] </td> <td style="text-align: center; " > <a href="javascript:void(0);" onclick="skipx(1)" >首頁</a> <a href="javascript:void(0);" onclick="skipx(${page.currentPage-1 })" >上一頁</a> <a href="javascript:void(0);" onclick="skipx(${page.currentPage+1 })" >下一頁</a> <a href="javascript:void(0);" onclick="skipx(${page.totalPage })" >尾頁</a> </td> <td style="text-align: right; " > 轉到第<input type="text" value="${page.currentPage }" name="otherpage" style="width: 20px;text-align: center;" />頁 <input type="button" name="skipOther" value="跳轉" /> </td> </tr> </table> <script type="text/javascript"> function skipx(x){ if(x<=${page.totalPage } && x>=1){ var keyid = $("[name='keyid']").val(); var keyname = $("[name='keyname']").val(); $("#keyid").val(keyid); $("#keyname").val(keyname); $("#currentPage").val(""+x); window.location.href="hello_keyList.action?keyid1="+keyid+"&keyname1="+keyname+"¤tPage1="+x; //document.getElementById.action="hello_keyList.action"; //$("[name='form2']").attr("action","hello_keyList.action"); //$("[name='form2']").submit(); } }; $("[name='skipOther']").click(function(){ var x = $("[name='otherpage']").val(); if(x<=${page.totalPage } && x>=1){ var keyid = $("[name='keyid']").val(); var keyname = $("[name='keyname']").val(); $("#keyid").val(keyid); $("#keyname").val(keyname); $("#currentPage").val(x+""); $("[name='form2']").attr("action","hello_keyList.action"); $("[name='form2']").submit(); }else{ alert("頁碼輸入超出范圍."); $("[name='otherpage']").val("${page.currentPage }"); } }); </script>
使用此方式可以寫一個方法(或者說是兩個)就可以進行頁面跳轉了。
