我的功能如下:
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
答案 0 :(得分: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;
答案 1 :(得分:1)
如果您想保留此类信息,请考虑使用PHP的sessions。
<?php
session_start();
$_SESSION['foo'] = $bar;
?>
然后,您可以通过在页面开头调用session_start()
来参考其他页面上的此信息。
<?php
session_start();
$bar = $_SESSION['foo'];
?>
答案 2 :(得分: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);
}
顺便说一句,我还在JavaScript中添加了encodeURIComponent()
来执行正确的转义所选值。