サイトに表示される前に、管理者が画像/リンク広告を承認または拒否できる非常にシンプルな管理エリアを構築しようとしています。「承認」または「拒否」ID を含むラジオ ボタンを使用し、値は広告の一意の ID 番号です。
私は非常に便利な.each()
関数を使って、受け入れられた広告と拒否されたすべての広告を独自の配列に入れ、PHP にそれぞれの広告を適切に処理させようと考えました。
ただし、フォームを送信するとCallback is undefined
、FireBug コンソールからエラーが表示されます。
サンプル HTML (PHP による出力):
<li><input type="radio" name="' . $a['adID'] . '" id="accept" value="' . $a['adID'] . '" /> Approve</li>
<li><input type="radio" name="' . $a['adID'] . '" id="reject" value="' . $a['adID'] . '" /> Reject</li>
...そしてこれはjQueryコードです:
$(document).ready(function() {
$("#save").click(function() {
var arrayOfAccepted = new Array();
var arrayOfRejected = new Array();
$.each("input:radio[id='accept']:checked"), function() {
arrayOfAccepted.push($(this).val());
}
$.each("input:radio[id='reject']:checked"), function() {
arrayOfRejected.push($(this).val());
}
$.ajax({
type: 'POST',
url: 'exe/fn.moderateAds.php',
data: {acceptedAds : arrayOfAccepted, rejectedAds : arrayOfRejected},
success: function() {
alert("Changes saved successfully.");
}
});
});
});
acceptedAds
/ rejectedAds
data パラメーターの変数は、PHP が配列を検索するときに配列を識別できるようにする変数です。
構文エラーですか、それとも AJAX 関数を介してデータを渡す方法に問題がありますか?