分页跳转 URL参数问题 是&问题还是浏览器的问题

vitou 发布于 2012/05/25 14:28
阅读 739
收藏 0

        现在碰到个问题,分页模式中要求跳转到第n页,使用的js代码如下:

     function goUrl() {
            <s:url id="goUrl" action="faqWebAction!faqNode" namespace="/web">
                <s:param name="currNode.id" value="currNode.id"></s:param>
              <s:param name="pageBean.pageSize" value="pageBean.pageSize"></s:param>
            </s:url>
                var url = '${goUrl}';
                var pageNumber = document.getElementById("goPageNumber").value;
                if (pageNumber == '')pageNumber = 1;
                url += "&pageBean.pageNumber=" + pageNumber;

                alert(url);
                document.location.href = url;
            }

弹出框的url为“localhost:8080/helpcenter/web/faqWebAction!faqNode.action?currNode.id=8&amp;pageBean.pageSize=9&amp;pageBean.pageNumber=3

这个段代码在ie6中可以正确的跳转到希望的页面,但是其他的浏览器的时候,虽然可以跳转到第n页,但是这个的n是pageSize改变为默认值10的,而不是之前设置的9.

估计是把“amp;pageBean.pageSize=9”看成一个参数了 而非pageBean.pageSize

这个不知道为什么?

当我把url += "&pageBean.pageNumber=" + pageNumber;
改为url += "&amp;pageBean.pageNumber=" + pageNumber;
时,ie6可以正确跳转,但是其他的浏览器则但会pageNumber=1的情况而且pageSize没有发生变为10的情况,个人认为是后面带的参数没有pageNumber没有取到即默认为时“amp;pageBean.pageNumber”

这个为什么ie6可以,其他的如firefox,opera等等均失效?

 

以下是问题补充:

@vitou:第二种url弹出http://localhost:8080/helpcenter/web/faqWebAction!faqNode.action?currNode.id=8&pageBean.pageSize=9&pageBean.pageNumber=3 (2012/05/25 14:33)
加载中
0
Andre.Z
Andre.Z

你不会在js里面用标签设置下几个变量,然后js用变量再去组合个url啊,非要在标签里面组合?跳过转码的问题啊。
比如你的gourl不要加那2个参数在标签里面,然后把那2个提出成js变量,再自己组合不就是了啊。这样我就不信还会转码了。

vitou
vitou
确实 我是想这样的
0
红薯
红薯
浏览器中的参数分割符 & 不需要再做转码了
vitou
vitou
我没做转码啊 这个是其他的浏览器不出效果
0
vitou
vitou

顶一下 难道大家都没碰到过类似的问题?或是 这个pageSize就只是设置为10?

0
deleted
deleted

html里需要把&转成&amp;

而js变量里是不需要的

返回顶部
顶部