こんにちは、私は基本的に、個別の JQueryUI タブで AJAX を介して個々の php ページ (およびそのフォーム) を呼び出しています。コードは次のようなものです。
<div id="dock">
<ul>
<li><a href="/buddylity_dev/index.php?r=welcome/home">Home</a></li>
<li><a href="/buddylity_dev/index.php?r=welcome/profile">Profile</a></li>
<li><a href="/buddylity_dev/index.php?r=welcome/statistics">Statistics</a></li>
<li><a href="/buddylity_dev/index.php?r=ping/view">Pings</a></li>
</ul>
</div>
...
jQuery(function($) {
jQuery('#dock').tabs({'collapsible':false});
});
1) タブをクリックするたびに、コンテンツは正常に読み込まれますが、以前のコンテンツは破棄されません。その結果、タブが N 回クリック (ロード) された場合を想像してください。フォームも N 回送信されます。私が理解している限り、ここでは複数のバインディングが発生するため、複数のフォームが送信されます。どうすればこれを防ぐことができますか?
2) 各タブに個別のフォームがあります。複数のタブを選択すると、複数のフォームが読み込まれます。フォームのいずれかで(AJAX経由で)値を送信すると、以前にロードされたすべてのフォームにデータが送信されます(Firebugで確認)。どうすればこれを防ぐことができますか?
PS: タブでキャッシュを有効にすると、問題 #1 は部分的に解決されますが、問題 #2 は解決しません。
PPS:私はかなりの数の同様の投稿を経験しましたが、私はまだ立ち往生しています:(
ありがとう !