タブにあるフォームから$_POSTデータを送信し、予想される$_POSTデータでタブを更新する際に問題が発生しました。
私はjQuery-UIタブを使用して、Ajaxを介してスクリプトのさまざまな部分をロードしています。
これが私のナビゲーションタブです:
<div id="tabs" style="width:970px;">
<ul>
<li><a href="/ajaxFunctions?mgmtDbrdPge=1" title="visibleTab-1">Cl Total</a></li>
<li><a href="/ajaxFunctions?mgmtDbrdPge=2" title="visibleTab-2">Rental Leads Export</a></li>
<li><a href="/ajaxFunctions?mgmtDbrdPge=3" title="visibleTab-3">Sphere Count Statistics</a></li>
<li><a href="/ajaxFunctions?mgmtDbrdPge=4" title="visibleTab-4">E-Campaign Statistics</a></li>
</ul>
</div>
これが私のjQueryコードです:
jQuery(document).ready(function() {
jQuery("#tabs").tabs({
spinner:'<b>Retrieving Data...</b>',
ajaxOptions: {
data: { $_POST: getVariable
},
error: function( xhr, status, index, anchor ) {
$( anchor.hash ).html(
"error occured while ajax loading.");
},
success: function( xhr, status ) {
//alert("ajax success. "); //your code
}
}
});
jQuery('#tabs ul li a').click(function () {location.hash = jQuery(this).attr('href');});
primeDateInputElements();
});
AjaxFunctionsファイル内に、選択したタブに応じて正しいインクルードをロードするためのswitchステートメントがあります。
$p = $_GET['mgmtDbrdPge'];
switch($p) {
case "1": default:
$page = 1;
break;
case "2":
$page = 2;
break;
case "3":
$page = 3;
break;
case "4":
$page = 4;
break;
}
include("path/to/file/fileToInclude.include.php");
このファイルの中には、これに似たフォームがあります。フォームが送信されると、次の関数を実行できるように、POSTデータがロードされた状態でタブをリロードする必要があります。ただし、POSTデータはまったくロードされていません。
echo '<form name="CityExport" action="/managementDashboard#visibleTab-2" enctype="multipart/form-data" method="post">' . chr(10);
echo '<input type="hidden" name="mode" value="submitNorthShoreExport" />' . chr(10);
echo '<input type="submit" value="North Shore Export" id="submitButton">' . chr(10);
echo '</form>';
どうすればこれを行うことができますか?