下面的代码应该怎么修改才能实现上一页、下一页、首页功能,为什么每次都是传到首页?
<script language="javascript">
function go(num){
document.getElementById("cp").value = num;
document.spform.submit();
}
</script>
<form name="spform" action="<%=URL%>" method="post">
<input type="button" value="首页" onclick="go(1)">
<input type="button" value="上一页" onclick="go(<%=currentPage-1%>)">
<input type="button" value="下一页" onclick="go(<%=currentPage+1%>)">
<input type="button" value="尾页">
<input type="hidden" id="cp" value="1">
</form>
你的input少了name,没有name这个控件不会提交到服务器的,而且目测你的cp判断了没有值默认为第一页。。加上name="cp"
<input type="hidden" id="cp" value="1" name="cp">
你这个是表单提交,并不是点击按钮后到哪个页面或实现上下页和首页的功能。
主要问题在于
<input type="hidden" id="cp" value="1">
并没有把你传进来的form里的cp变为你表单里面的实际值。应该(以ASP.net为例)把cp作为一个服务器变量,存放你post过去的cp的值,然后
value="<%=cp%>"
另外,你如果在换页的地方用POST的话,实际业务提交的时候会稍麻烦,因此一般换页都是用URL参数的
你后台是如何取这个值的呢?看看代码
要看下你后台的代码,不知道你的currentPage和URL是怎么变化的。没看到你的后台代码,猜一下,问题应该是出在submit,提交URL请求之后,处理跳转的时候出了问题。
你虽然改了页面值,但是你提交的action的url没有变所以一直是首页
解决方法一:你用js 动态赋值给cp,然而只是在本地电脑上存储着动态值,而submit 并不会读取你的动态值,如果要传值的话,需要把计算的结果直接赋值给url
解决方法二:可以从生成页面的asp文件出发,直接生成上一页,和下一页的值,这样你也不用谢js函数了
document.getElementById(参数) -- 参数就是标签里id = "..."。
如,document.getElementById("cp"),就能访问这个hidden标签。
请在其他标签添加合适id,这样就可以访问所需标签。
怎么是submit()方法,怎么看都觉得有点怪异