2012-01-20 14 views
3

私は奇妙な問題に直面しています。ここ は問題は(perlの/石工を使用して)、javascriptページを更新しても隠れた入力変数の値を保持します(F5またはブラウザの更新ボタンをクリックしてください)

<input type='hidden' id='noB' name='noB' value='<% $noB%>'/> ; 

値($noB)は、サーバー側で満たされている私は、HTMLの隠し入力フィールドを持つ、

です。私のJavaScriptで

、私は値を取得し、それを処理するために

var noB = jQuery('#noB').val(); 

を使用しています。
最も重要なことは、私が新しい変数のjavascript関数内でこの値にアクセスするたびにnoB = 3と仮定し、処理を行い、隠し変数noBを新しい値1で更新します。それ。

noB私のjavascriptで1と言うと、そのページがF5を使用してリフレッシュされた後、ページが再び読み込まれ、値を取得しようとしました。

var noB = jQuery('#noB').val(); 

それは3

助けてくださいする必要がありますとき、私は、唯一のnoB = 1を取得します。

+0

はdocの準備ができていますか? –

答えて

2

Firefox(場合によっては他のブラウザ)は、HTMLで指定された値でなくても、ページを更新したときの値でフォーム要素を再読み込みします。シンプルなソリューション:ページをリロードするのではなく、ページをリロードしてリロードします。

+0

返事ありがとう、アンソニー。私はポイントを理解して、事はフォーム要素の変更の値ですが、javascriptは最後に作成した値を使用しています。それを回避する方法はないのか、ブラウザの問題のみです – Manish

0

これがブラウザの問題である場合は、ブラウザにページコンテンツをキャッシュさせないようにしてください。

これは、あなたのHTMLヘッダー内の以下の<meta>タグ置くことによって行うことができます。その非常に古いものが、

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> 
0

をしかし、私は同様の問題に遭遇し、このソリューションが見つかりました:代わりに

  1. を隠し入力フィールドを使用するには、label.innerHTMLを使用して値を格納してください
  2. javascriptを使用して、ラベルのinnerHTML値にアクセス/変更できます。
  3. ページが更新されるたびに、ラベルの値が更新されます。

希望します。

関連する問題