2

私はこのフォームを持っています:

<form action="" method="post">
   <select name="weeks" id="weeks">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8">8</option>
      <option value="9">9</option>
      <option value="10">10</option>
   </select>
<input type="submit" value="Submit" />
</form>

フォームのリロード時にオプションを選択済みに設定するにはどうすればよいですか? たとえば、6 を選択するとリロード時にオプション 6 が選択され、2 に切り替えるとリロード時に 2 が選択されますか?

4

1 に答える 1

1

永続的な動作が必要な場合は、選択した状態をどこかに保存する必要があります。
サーバー側 (db またはセッション) またはクライアント側 (Cookie または localStorage) に保存できます。

クライアント側で保存する場合は、HTML5 のlocalStorageを使用することをお勧めします。そのため、選択したインデックス (または必要なもの) をそこに保存し、ページをリロードする必要があるたびに、そこから選択したインデックスを取得して選択を変更します。
クライアント側で変数を保存および取得する方法のサンプルを次に示します。

function getFoo() {
  var foo = localStorage.getItem('foo');
  if (!foo) {
    setFoo([defaults value]);
    return getFoo();
  } else return foo;
}

function setFoo(foo) {
  localStorage.setItem('foo', foo);      
}
于 2012-07-24T12:24:59.323 に答える