これは、Salesforce 開発者ボードで私が尋ねた質問の延長です。
コントローラーから新しい情報をロードし、その情報をさらに使用するために Javascript 配列に埋め込むために頻繁に変更する必要がある VisualForce ページがあります。
現在の解決策: ここ (Wiki) で説明されているように、VisualForce 'Browser Technologies' を使用して成功しました: http://wiki.developerforce.com/index.php/Using_Browser_Technologies_in_Visualforce_-_Part_1
Javascript の array.push を推奨タグで囲みます。
<apex:repeat value="{!Object}" var="objects">
d.push( {
element1: "{!objects.id}"
})
</apex:repeat>
問題: ページ全体が更新されたときに配列が正しく読み込まれ、「ドロップダウン」を使用して (コントローラーで) オブジェクトのフィルターを変更すると、DOM が更新されます (新しい情報がページに配置されていることがわかります)。 )、
ただし、最終的には、ページ全体で更新を呼び出さない限り、Javascript 配列の値は変更されません。これは、部分的な更新を打ち負かし、ユーザーにとってシステムに衝撃を与えます。
この「必要な投稿」の問題は、以前は問題ではありませんでした。DOM が更新された後に、この配列の人口を含む Javascript 関数を直接呼び出しても、Javascript 配列は変更されません (したがって、一度読み込まれると想定しています)。ページが最初にポストバックされ、変更できないときの DOM の内容に基づいています。
考え?