1

我有这样的功能:

 function SetPageShow (obj)
    {
        window.location.href="?CMD=PAGEROWS&PARA="+obj.options[obj.selectedIndex].text;
    }

它工作正常,直到我有一个带有另一个 GET 值的页面,比如

http://protectneu/main.php?site=mitarb&liz=260

. 然后当我调用函数 SetPageShow 时,URL 将是

http://protectneu/main.php?CMD=PAGEROWS&PARA=25

并且其他值(mitarb 和 liz)正在丢失。有没有办法保存它们并添加新参数。我需要的结果是:

http://protectneu/main.php?site=mitarb&liz=260&CMD=PAGEROWS&PARA=25
4

3 回答 3

2
if (window.location.search)  
  return window.location.href + "&CMD=PAGEROWS&PARA="+obj.options[obj.selectedIndex].text;  
else 
  return window.location.href + "?CMD=PAGEROWS&PARA="+obj.options[obj.selectedIndex].text;  
于 2012-09-04T15:53:03.690 回答
1

如果您想保留这样的信息,请考虑使用 PHP 的会话。

<?php
session_start();
$_SESSION['foo'] = $bar;
?>

session_start()然后您可以通过在页面开头调用来参考其他页面上的此信息。

<?php
session_start();
$bar = $_SESSION['foo'];
?>
于 2012-09-04T15:47:27.997 回答
1

在 PHP 端,您需要去除将通过 JavaScript 发送的参数,然后使用其他参数构建一个字符串,如下所示:

<?php
$params = $_GET;
unset($params['CMD']);
unset($params['PARA']);

?>
<script>
function SetPageShow(obj)
{
    var params = '<?php echo http_build_query($params); ?>';

    window.location.href = '?' + (params ? params + '&' : '') + "CMD=PAGEROWS&PARA=" + encodeURIComponent(obj.options[obj.selectedIndex].text);
}

顺便说一句,我还添加encodeURIComponent()了 JavaScript 以执行所选值的正确转义。

于 2012-09-04T16:00:20.743 回答