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 側では、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 に答える
1

このような情報を保持したい場合は、PHP のセッションの使用を検討してください。

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

session_start()その後、ページの先頭で呼び出すことにより、他のページでこの情報を参照できます。

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