jsp代码:
<input type="text" id="pageNo" size="2" name="pageNo" onKeyPress="onlynumber();" />
页&nbsp;
<button style="cursor: hand;" onclick="doQuery($('#pageNo').value);">跳转</button>javascript代码:
 //转到第几页的时候需要用户只输入数字
      function onlynumber(){
if(event.keyCode==13)
return true;
if(event.keyCode<48||event.keyCode>57){
event.keyCode=0;
event.returnValue=false;}
event.returnValue=true;
  } 
  function doQuery(pageNo){
var iPageNo=parseInt(pageNo);
if(iPageNo<1 ||iPageNo>${page.totalPageNum}){
     alert("共${page.totalRecNum}种,有效页面范围:1-                     ${page.totalPageNum}. 每页面显示${page.pageSize}条目.");
     return;
}
document.forms[0].action=document.forms[0].action+'&pageNo='+pageNo;
document.forms[0].submit();
  } 
java代码(在servlet中的部分代码,其他的没有涉及到这个错误):
 if(request.getParameter("pageNo")!=null&&request.getParameter("pageNo").length()!=0){
int pageNo=Integer.parseInt((request.getParameter("pageNo")));
page.setPageNo(pageNo);
   }
报的错误是:
严重: Servlet.service() for servlet UserServlet threw exception
      java.lang.NumberFormatException: For input string: "undefined"我查到了可能是javascript里出错了,取到得值有问题,经过调试,在javascript里,alert(iPageNo)后弹出来的是NaN,觉得可能是找到原因了,但却不知道怎么改,或者说是其他错误,麻烦懂的人讲讲吧!谢谢哈!

解决方案 »

  1.   

    首先,jquery文件引用正确了吗,路径等,其次, onlynumber方法中的如果我直接在文本框中直接按一个enter会直接跳出的。IE和拥有IE内核的浏览器,如果只有一个text和一个button直接在text敲个回车会直接跳转的,不经过任何action判断的,建议onlyNumber中判断fuction onlyNumber(e){if(event.keyCode==13){window.event.returnValue=false}else{if(!isNaN(parseInt(e.value)){//处理程序})}}
          
      

  2.   

    严重: Servlet.service() for servlet UserServlet threw exception
          java.lang.NumberFormatException: For input string: "undefined明显是只能输数字的地方输入了字符串嘛
      

  3.   

    谢谢两位啦  是jquery对id的取值问题,具体我也不清楚。东改西改就好了,回头再查查。