<%@ tag pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="/WEB-INF/c.tld" %>
<%@ attribute name="formName" type="java.lang.String"%>
<%@ attribute name="action" type="java.lang.String"%><script language="javascript">    function turnPage(startrow){
       var pageForm = document.${empty formName?'defaultForm':formName};
       pageForm.startrow.value = startrow;
       pageForm.submit();
    }
    
</script>
<c:if test="${empty formName}">
<form name="defaultForm" action="${action}" method="post">
</c:if>
        <input id="startrow" name="startrow" type="hidden" value="">
        <br>
    <div align="center">
<td><input id="startPage" type="button" value="首  页" onClick="turnPage(0)"></td> 
<td><input id="upPage" type="button" value="上一页" onclick="turnPage(5)"></td> 
<td><input id="downPage" type="button" value="下一页" onclick="turnPage(5)"></td> 
<td><input id="overPage" type="button" value="末  页" onclick="turnPage(5)"></td> 
</div>
<c:if test="${empty formName}">
</form>
</c:if>上面是一个翻页的自定义标签程序,可是当我点击按钮调用turnPage()方法的时候确没有反应,是不是这里面不可以写javascript啊,页面上报的错是缺少对象。

解决方案 »

  1.   

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@ page isELIgnored="false"%>
    <%@ taglib uri="/WEB-INF/c.tld" prefix="c" %>
    <%@ taglib tagdir="/WEB-INF/tags" prefix="tag" %>
    <html>
      <head>
         <script type="text/javascript" src="/${contextPath}/themes/${themes}/js/table.js">
         </script>
      </head>
           
      <body bgcolor="#6699CC">          <table id="ss" width="100%"  border="1" align="center"
    cellpadding="0" cellspacing="0" >
    <tr> <th width="9%" rowspan="1" nowrap="nowrap">
    <div style="font-size:16px" align="center">
    客户姓名
    </div>
    </th>
    <th width="9%" rowspan="1" nowrap="nowrap">
    <div style="font-size:16px" align="center">
    客户性别
    </div>
    </th>
    <th width="9%" rowspan="1" nowrap="nowrap">
    <div style="font-size:16px" align="center">
    预到日期
    </div>
    </th>
    <th width="9%" rowspan="1" nowrap="nowrap">
      <div style="font-size:16px" align="center">
    预离日期
    </div>
    </th>
    <th width="9%" rowspan="1" nowrap="nowrap">
     <div style="font-size:16px" align="center">
    失效日期
    </div>
    </th>
    <th width="15%" rowspan="1" nowrap="nowrap">
    <div style="font-size:16px" align="center">
    操作
    </div>
    </th>
    </tr>
     <c:forEach var="item" items="${ydInforList}">
     
       <c:if test="${ydInforList!=null}">
       
     <tr>
    <td>
    <div style="font-size:16px" align="center">
    ${item.mid}
    </div>
    </td>
    <td>
    <div style="font-size:16px" align="center">
    ${item.mid}
    </div>
    </td>
    <td>
    <div style="font-size:16px" align="center">
    ${item.mid}
    </div>
    </td>
    <td>
      <div style="font-size:16px" align="center">
    ${item.title}
       </div>
    </td>
    <td>
    <div style="font-size:16px" align="center">
    ${item.title}
    </div>
    </td>
    </tr>
    </c:if>
      </c:forEach>
    </table>  
      <tag:page action="/${contextPath}/ydInfor.do?method=${methodName}"></tag:page> 

      </body>
    </html>这个就是翻页的JSP页面了,这个页面用来显示数据的,再利用AJAX的局部刷新被显示到下面的JSP页面中的:
    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@ page isELIgnored="false"%>
    <%@ taglib uri="/WEB-INF/c.tld" prefix="c" %>
    <%@ taglib tagdir="/WEB-INF/tags" prefix="tag" %>
    <html>
      <head>
            <script type="text/javascript" src="/${contextPath}/themes/${themes}/js/table.js"></script>
      </head>
      
      <body bgcolor="#6699CC"  onLoad="${methodName==null?'getAllInfor()':methodName}">
      
             <div align="center"><h3>预定修改</h3></div>
        <table  width="100%" border="0" cellpadding="2" cellspacing="1">
           <tr bgcolor="#6699CC">
                <td><input type="button" name="allInfor"  value="所有预定" onclick="getAllInfor()"></td>
                <td><input type="button" name="todayYD"  value="今日预定" onclick="getTodayYD()"></td>
                <td><input type="button" name="todayReach"  value="今日预到" onclick="getTodayReach()"></td>
                <td><input type="button" name="todayReached"  value="今日已到" onclick="getTodayReached()"></td>
                <td><input type="button" name="todayNoReach"  value="今日未到" onclick="getTodayNoReach()"></td>
            </tr>
        </table>
          <br>
          <div id="result" align="center"></div>  
      </body>
    </html> 
     最后给一段JS代码: function getAllInfor() {   
        createXDOM();   
        var url = "/resthome/ydInfor.do?methodName=getAllInfor()&method=queryAllYDInfor";
        xmlHttp.open("post",url,true);   //true异步,false同步
        xmlHttp.onreadyStatechange=function(){  
           if(xmlHttp.readyState==4) {   
                document.getElementById("result").innerHTML = xmlHttp.responseText;
                
            } else {   
                result.innerHTML="数据加载中,请稍候...";   
            }   
        }   
        xmlHttp.send();
    }  
      

  2.   

    你可以用alert调试一下,看看调没调,如果调了就是你代码写的有问题
      

  3.   

    var pageForm = document.${empty formName?'defaultForm':formName};
    貌似这句话有问题。你在这句话前后都用alert调试。你标签里面没有name 为formName的form 呀?
    或者可以用doucument.getElementById("")来取出form对象;
      

  4.   

    formName 是<%@ attribute name="formName" type="java.lang.String"%>这句话传过来的,我用alert调试了,可是没有弹出任何信息