jQuery ajax の仕組みに少し混乱しています。jQueryとphpで顧客管理システム(CMS)を作ろうとしています。
ユーザーに車を作る機会を与えたい。彼が「車の名前」を定義し、チェックボックス リストでいくつかのオプションをチェックする必要があるとしましょう。同じページで、ユーザーにいくつかのオプションを追加または削除する機会を与えます。この追加と削除は jQuery と ajax で行われます。ユーザーがオプションを追加すると、オプションを処理してデータベースに追加する php ページ (addOption.php) を呼び出します。ajax 呼び出しが成功した場合は、ajax load() 関数を使用して div にオプションを再読み込みします。データベースからオプションを読み取り、それらをチェックボックスのリストに構築するphpページ(reloadOptions.php)を呼び出す人。
これはすべて正常に機能します。どのチェックボックスがチェックされているかを確認しようとすると、問題が発生します。(ここが難しい文です) ページソースにデータが存在しないようです。これは ajax の非同期動作が原因だと思います。そして、私は車を作成するためのオプションが本当に必要です!
最後に、私の質問は、そのオプション データにどのようにアクセスできますか? できない場合でも、そのデータにアクセスできる方法はありますか? cms システムを処理するための私のアプローチについてどう思いますか? 良い / 悪い / うーん / ...
以下は、私が使用するいくつかのコードブロックです。
ページ index.php : オプションと html コードを処理する jQuery/ajax
//At the start i load the options in
$('.options').load('./php/OptionsReload.php');
$("#FormOptions").submit(function(e) {
$.ajax({
type: "POST",
url: "./php/addOption.php",
data: $(e.target).serialize(),
dataType: "json",
success: function(data) {
$('.options').load('./php/reloadOptions.php');
}
});
return false;
});
..................
//Form where you can add the option
<form id="FormOptions">
<input type="text" name="optionName" />
<input type="submit" name="submitOption" value="Add option" />
</form>
......................
//Div where i show the options to the user
<form name="formChecks" method="post" enctype="multipart/form-data">
<div class="options">
//Content loaded with jQuery
</div>
</form>
ページ addOption.php : オプションをデータベースに追加するコード
//Database connect
...
return mysql_query("INSERT INTO options(option) VALUES('". $POST_['optionName'] ."');");
ページ reloadOptions.php : オプションで html を構築するコード
<select name="mydropdown">
<?php
$options = ...... connect with DB and select all the options
while($row = mysql_fetch_assoc($options))
{
echo ("<option value='" . $row['Id'] . "'>" . $row['optionName'] . "</option>");
}
?>
</select>
前もって感謝します、バート