2011-10-27 3 views
-1

私は一連のチェックボックスを持つ簡単なWebページ上にフォームを持っています。これらのオプションは、送信ボタンをクリックしたときにデータベースから取得できる項目を表します。さらに、ページの下部に余分なオプションを追加する場所があります。ここに私が行っていることがあります:javascriptによるウェブページストアの変更はどうすればできますか?

私はjavascriptを使って新しいオプションを追加したいので、リクエストをサーバーに送り返す必要はなく、ユーザーにすばやくシームレスに表示されます。それをサーバー側に追加してから、ユーザーにページをリロードしてもらいます。しかし、これらの追加されたフィールドが保持されていることを確認して、次にページをロードするときに表示されるようにしたい。

残念ながら、私のコードは独自仕様なので、ここに投稿することはできません。実際にコードを見ることなく、人々が私にこのようなアイデアを手伝ってくれることを願っています。

おかげ

答えて

2

これらのチェックボックスを追加すると、サーバーに行きたくないときにユーザーが送信を押しても、サーバーに行くので、サーバーの新しいチェックボックスに関するこの情報を保持できます。

もう1つの方法は、AJAXを使用してサーバーを非同期的に呼び出して、状態の変更についてサーバーを更新することです。

+0

これは一般的なケースで機能しますが、ユーザがチェックボックスを追加し、選択しないままにしておくことについては微妙なニュアンスがあります。新しいチェックボックスは '$ _POST'データに現れません。 – ewok

+1

この場合、各チェックボックスに対応する隠しフィールドを保持することができます。 – guru

+0

ユーレカ!隠されたフィールド。ありがとう! ;-) – ewok

0

あなたの変更を保存するためにHTML5 local storage APIを使用することができます。

localStorage.setItem('favoriteflavor','vanilla'); 
0

セッション関連情報は複数の要求パススルーしたい場合は、クッキーにデータを置くことができるか、PHPを使用すると、セッションを使用することができます。

http://php.net/manual/en/features.sessions.php

1

あなたはまだ変更のサーバー側を保存したい場合は、バックグラウンドでとても静かに行うことができます。

XmlHttpRequest()とPHPスクリプトを一緒に使用してください。

+0

これはすべてのブラウザでサポートされていますか、ブラウザごとに別々のスクリプトを作成する必要がありますか? – ewok

+0

バージョン7以降、Firefox、Chrome、Safari、Opera、IEで動作します。古いIEのバージョンでは、代わりにActiveXObject( "Msxml2.XMLHTTP") 'または' ActiveXObject( "Microsoft.XMLHTTP") 'を使用できます(try /キャッチなど)。最初の行だけが変更されます。残りのコードは同じです。 – Dennis

関連する問題