1

ユーザーが検索ページの条件を選択できるようにするphpファイルがあります。(メソッドを使用して) データを送信した後post、ページはユーザーを検索結果ページに誘導します。ユーザーは「条件選択ページ」に戻り、別の条件を選択して検索したいと考えている可能性が高いと思いました。ユーザーが「状態」ページに戻る方法は 2 つあります。「condition.php」でアンカータグをクリックするか、ブラウザーの最後のページボタンをクリックします (私は現在クロムを使用しています)。

そのため、ブラウザの最後のページ ボタンをクリックすると、問題またはバグが発生します。複数条件選択のhidden型入力の値を変更しました。入力の後者の値が上に移動し、元の値を置き換えるようです。

というわけで、主に2つ質問があります。

  1. どのような問題が発生しましたか?
  2. 修正方法は?

以下は、html サンプルの一部です。

<form method="post" action"search-result.php">
<div id="category">
  <ul id="002001000">
    <li><input type="hidden" value="002001001">freestyle</li>                       
    <li><input type="hidden" value="002001002">frogstyle</li>
  </ul>
  <ul id="002003000">
    <li><input type="hidden" value="002003001">math</li>
    <li><input type="hidden" value="002003002">English</li>
    <li><input type="hidden" value="002003003">Biology</li>
  </ul>
</div>

<div id="location_list">
  <div id="region">
    <ul>
      <li rel="asia"><input type="hidden" value="Asia(Taiwan,Japan)">Asia</li>
      <li rel="america"><input type="hidden" value="America(USA,Canada)">America</li>
    </ul>
  </div>
  <div id="nation">
    <ul id="asia">
      <li><input type="hidden" value="Taiwan">Taiwan</li>
      <li><input type="hidden" value="Japan">Japan</li>
    </ul>
    <ul id="america">
      <li><input type="hidden" value="USA">USA</li>
      <li><input type="hidden" value="Canada">Canada</li>
    </ul>
  </div>
</div>
<input type="submit">
</form>

たとえば、「English」をクリックして送信し、検索結果ページに直接移動し、「最後のページ」ボタンをクリックしてこの条件ページに戻ると、「English」の値と以下の他の値が次のように置き換えられますこれ:

<div id="category">
  <ul id="002001000">
    <li><input type="hidden" value="002001001">freestyle</li>                       
    <li><input type="hidden" value="002001002">frogstyle</li>
  </ul>
  <ul id="002003000">
    <li><input type="hidden" value="002003001">math</li>
    <li><input type="hidden" value="002003002">English</li>
    <li><input type="hidden" value="Asia(Taiwan,Japan)">Biology</li>
  </ul>
</div>

<div id="location_list">
  <div id="region">
    <ul>
      <li rel="asia"><input type="hidden" value="America(USA,Canada)">Asia</li>
      <li rel="america"><input type="hidden" value="Taiwan">America</li>
    </ul>
  </div>
  <div id="nation">
    <ul id="asia">
      <li><input type="hidden" value="Japan">Taiwan</li>
      <li><input type="hidden" value="USA">Japan</li>
    </ul>
    <ul id="america">
      <li><input type="hidden" value="Canada">USA</li>
      <li><input type="hidden" value="Canada">Canada</li>
    </ul>
  </div>
</div>
<input type="submit">
4

2 に答える 2

0

GETフォームを使用してURLに用語を入れることができます。

それらをURLに表示したくない場合は、サーバー側のセッション変数に格納する必要があります。

于 2012-09-21T07:33:25.510 に答える
0

ブラウザの戻るボタンをクリックすると、ブラウザはキャッシュされたバージョンを返す場合があります。これをphpページで使用すると、キャッシュされません。

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past

サーバーから新しいページを取得するという意味で、これで解決するはずです。もちろん、サーバーのフィールドに入力する必要があります...そうでない場合は、入力フィールドのオートコンプリートに関係している可能性があります。使用する

<input autocomplete="off"/>

入力フィールドで、それが修正されるかどうかを確認してください。

于 2012-09-21T07:33:35.560 に答える